什么是类和对象?¶
在学习Java的对象创建与使用之前,我们先来理解两个核心概念:类和对象。
类(Class):对象的“模板”¶
想象一下,你要设计一款手机。在设计之前,你会先画一张“手机设计图”,上面包含手机的颜色、屏幕尺寸、摄像头数量等属性,以及打电话、拍照等功能。这张“设计图”在Java中就叫类——它是对象的模板,定义了对象应该有什么属性和方法。
类的语法格式:
class 类名 {
// 成员变量(属性):描述对象的特征
数据类型 属性1;
数据类型 属性2;
// 成员方法(行为):描述对象的动作
void 方法名() {
// 方法体:具体实现动作
}
}
对象(Object):类的“实例”¶
有了设计图(类),才能生产出具体的手机(对象)。在Java中,对象是根据类创建出来的具体实例,它拥有类定义的属性和方法,并且可以独立存储数据和执行动作。
类比:类是“手机设计图”,对象是“具体的某部手机”(比如“我的手机”“你的手机”)。
如何定义类并创建对象?¶
我们以一个简单的“学生”类为例,一步步演示类的定义和对象的创建。
步骤1:定义一个“学生”类¶
假设我们要定义一个Student类,包含属性(姓名、年龄)和方法(自我介绍):
// 定义Student类(对象模板)
class Student {
// 成员变量:描述学生的属性(姓名、年龄)
String name; // 姓名
int age; // 年龄
// 构造方法:用于初始化对象(创建对象时自动调用)
// 构造方法名必须和类名相同,没有返回值类型
Student(String studentName, int studentAge) {
// this.属性 = 参数:将参数赋值给对象的属性
this.name = studentName;
this.age = studentAge;
}
// 成员方法:描述学生的行为(自我介绍)
void introduce() {
System.out.println("大家好!我叫" + name + ",今年" + age + "岁。");
}
}
步骤2:创建“学生”对象(实例化)¶
类定义好后,需要用new关键字根据类创建对象(实例化),语法为:
类名 对象名 = new 类名(参数列表);
例如,创建一个叫“小明”、18岁的学生对象:
// 创建Student对象(实例化)
Student xiaoming = new Student("小明", 18);
步骤3:访问对象的成员¶
创建对象后,我们可以通过对象名.成员的方式访问对象的属性和方法:
- 访问属性:对象名.属性名
- 调用方法:对象名.方法名()
例如:
// 访问对象属性
System.out.println("小明的名字:" + xiaoming.name); // 输出:小明的名字:小明
System.out.println("小明的年龄:" + xiaoming.age); // 输出:小明的年龄:18
// 调用对象方法
xiaoming.introduce(); // 输出:大家好!我叫小明,今年18岁。
多个对象的创建与独立性¶
一个类可以创建多个对象,每个对象的属性是独立的。例如,再创建一个“小红”对象:
// 创建第二个Student对象
Student xiaohong = new Student("小红", 19);
// 访问小红的属性和方法
System.out.println("小红的名字:" + xiaohong.name); // 输出:小红的名字:小红
xiaohong.introduce(); // 输出:大家好!我叫小红,今年19岁。
注意事项¶
-
构造方法:
- 构造方法没有返回值类型(连void都不能写),且必须和类名完全相同。
- 如果没有手动定义构造方法,Java会提供一个默认的无参构造方法(类名())。 -
成员变量的默认值:
- 如果没有初始化成员变量,Java会给它们赋值默认值(如int默认是0,String默认是null)。
- 示例:如果不传递年龄,age会默认是0。 -
成员访问:
- 必须通过对象名访问成员(不能直接通过类名访问实例成员)。
总结¶
- 类是对象的模板,定义属性和方法。
- 对象是类的实例,通过
new关键字创建,用于存储数据和执行方法。 - 成员访问:通过
对象名.属性或对象名.方法()操作。
现在,你可以尝试自己写一个类(比如“动物”类,包含“叫声”属性和“叫”方法),然后创建多个对象,体验类与对象的关系!