java 快速上手开发 2

1. 类与对象

Java 是面向对象语言,一切代码都写在类中。类定义了一类事物的属性(字段)和行为(方法)。

复制代码
public class Person {
    // 字段
    String name;
    int age;

    // 方法
    public void introduce() {
        System.out.println("我叫" + name + ",今年" + age + "岁。");
    }
}

创建对象:

复制代码
Person person = new Person();
person.name = "张三";
person.age = 25;
person.introduce();

2. 构造器与 this

构造器用于创建对象时初始化字段,名字与类名相同,没有返回类型。

复制代码
public class Person {
    String name;
    int age;

    // 带参构造器
    public Person(String name, int age) {
        this.name = name;   // this 指当前对象
        this.age = age;
    }
}

使用构造器:

复制代码
Person p = new Person("李四", 30);

this 用于区分字段和参数同名的情况。

3. 封装

封装是将字段设为 private,通过公共的 getter/setter 访问,保护数据安全

复制代码
public class Person {
    private String name;
    private int age;

    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
    public int getAge() { return age; }
    public void setAge(int age) { this.age = age; }
}

在 Spring 项目中,常用 Lombok 的 @Data 注解自动生成这些方法,原理相同。

4. 继承(extends)

子类继承父类,获得父类所有非私有成员,并可以扩展自己的属性和方法。

复制代码
public class Animal {
    private String name;

    public Animal(String name) { this.name = name; }
    public void eat() { System.out.println(name + " is eating."); }
    public String getName() { return name; }
}

public class Dog extends Animal {
    public Dog(String name) { super(name); }   // 调用父类构造器
    public void bark() { System.out.println(getName() + " says Woof!"); }
}
  • super(...) 调用父类构造器,必须在子类构造器第一行。

  • Java 是单继承,一个类只能有一个父类。

5. 方法重写(Override)

子类可以重写父类的方法,签名必须一致,使用 @Override 注解。

复制代码
public class Cat extends Animal {
    public Cat(String name) { super(name); }

    @Override
    public void eat() {
        System.out.println(getName() + " is eating fish.");
    }
}

6. 多态

父类引用可以指向子类对象,调用方法时动态绑定到实际对象类型。

复制代码
Animal animal = new Cat("Kitty");
animal.eat();   // 输出 Kitty is eating fish.

这是面向对象的核心特性之一,也是 Spring 框架中大量使用的设计模式(例如 UserRepository 接口注入实现类代理)。

相关推荐
Joy T2 小时前
Agent 确定性上下文设计:从 Prompt 参数注入到能力分层
java·开发语言·微服务·架构·prompt·agent context
m0_587383005 小时前
广州 24 小时自助健身房解决方案技术实现与实战指南
java·spring·小程序·架构·需求分析
·云扬·5 小时前
Prompt 工程与安全:从 System 设计到注入防御
java·人工智能·安全·ai·prompt
专注仿真5 小时前
引擎扩展性与集成设计深度剖析:从 14 个扩展点到 DIS→HLA 演进之路
开发语言·算法·仿真引擎·推演引擎
Best-Wishes5 小时前
科来网络分析系统(技术交流版)使用说明书
开发语言·junit·php
代码不停6 小时前
自动化测试(java)
java·开发语言·selenium·自动化
Java后端的Ai之路6 小时前
06-React-Props
前端·react.js·前端框架
Flynt7 小时前
开源"间谍卫星"说数据全是真的,我把它的免key数据源挨个试了一遍
前端·开源·数据可视化
Csvn7 小时前
渲染管线
前端
程序员大阳7 小时前
副队长CSS教程(33)–圆角与透明
前端·css·透明·圆角