Java 面向对象编程 (OOP): 之对象
一、对象的定义 (Object Definition)
在 Java 中,对象是类的具体实例。如果将类比作蓝图或模板,那么对象就是根据这个蓝图创建出来的实体。每个对象都拥有:
状态 (State):
对象的状态由其属性 (Attributes) 或字段 (Fields) 的值决定。
这些属性是类中定义的成员变量。
每个对象都有自己独立的属性值,这些值存储在对象的内存空间中。
行为 (Behavior):
对象的行为由其方法 (Methods) 定义。
方法是类中定义的函数,用于操作对象的状态或执行与对象相关的操作。
方法可以访问和修改对象的属性。
标识 (Identity):
每个对象都有一个唯一的标识,用于区分不同的对象。
在 Java 中,对象的标识通常由其内存地址决定(开发者通常不需要直接操作内存地址)。
可以使用 == 运算符比较两个对象的引用是否指向同一个对象(即标识是否相同)。
二、对象的创建 (Object Creation)
在 Java 中,使用 new 关键字和类的构造方法来创建对象。
new 关键字:
new 关键字在堆内存中为对象分配空间。
new 关键字会调用类的构造方法来初始化对象。
构造方法 (Constructor):
构造方法是类中一种特殊的方法,用于创建和初始化对象。
构造方法与类同名,没有返回类型(甚至没有 void)。
构造方法可以有参数,也可以没有参数(无参构造方法)。
如果一个类没有显式定义构造方法,Java 编译器会自动提供一个默认的无参构造方法。
如果一个类显式定义了构造方法(无论是否有参),Java 编译器 不会 再提供默认的无参构造方法。
创建对象的步骤:
分配内存: new 关键字在堆内存中为对象分配空间。
初始化成员变量: 对象的成员变量会被初始化为默认值(例如,int 类型为 0,boolean 类型为 false,引用类型为 null)。
调用构造方法: 调用类的构造方法,执行构造方法中的代码,进一步初始化对象(例如,为成员变量赋初始值)。
返回对象引用: new 表达式返回新创建对象的引用(内存地址)。
代码示例:
// 定义一个 Person 类
class Person {
String name;
int age;
// 构造方法
public Person(String name, int age) {
this.name = name;
this.age = age