Java对象创建与使用:类、实例化、成员访问,零基础上手

什么是类和对象?

在学习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岁。

注意事项

  1. 构造方法
    - 构造方法没有返回值类型(连void都不能写),且必须和类名完全相同。
    - 如果没有手动定义构造方法,Java会提供一个默认的无参构造方法(类名())。

  2. 成员变量的默认值
    - 如果没有初始化成员变量,Java会给它们赋值默认值(如int默认是0,String默认是null)。
    - 示例:如果不传递年龄,age会默认是0。

  3. 成员访问
    - 必须通过对象名访问成员(不能直接通过类名访问实例成员)。

总结

  • 是对象的模板,定义属性和方法。
  • 对象是类的实例,通过new关键字创建,用于存储数据和执行方法。
  • 成员访问:通过对象名.属性对象名.方法()操作。

现在,你可以尝试自己写一个类(比如“动物”类,包含“叫声”属性和“叫”方法),然后创建多个对象,体验类与对象的关系!

小夜