自己创建数据类型——类

自己创建数据类型——类

我们自己封装的数据类型就叫做类。创建好类之后,可以像使用 int、String 等类型一样去创建变量,只不过通过自定义类创建的变量称为对象。创建对象需要使用关键字 new,类似创建数组。

示例代码

package V058;

public class Test {

    public static void main(String[] args) {
        Student zs = new Student();
        zs.age = 12;
        zs.local = "北京";
        zs.name = "张三";
        zs.ShowInfo();

        int a = 12;
        Student ls = new Student();
        ls.age = 23;
        ls.name = "李四";
        ls.local = "青岛";
        ls.ShowInfo();
    }
}

class Student {
    int age;
    String name;
    String local;

    void ShowInfo() {
        System.out.println("姓名:" + name);
        System.out.println("年龄:" + age);
        System.out.println("籍贯:" + local);
    }

    void setAge(int age) {
        this.age = age;
    }
}

class Person {
}Code language: JavaScript (javascript)

类的创建

class Student {
    int age;
    String name;
    String local;

    void ShowInfo() {
        System.out.println("姓名:" + name);
        System.out.println("年龄:" + age);
        System.out.println("籍贯:" + local);
    }

    void setAge(int age) {
        this.age = age;
    }
}Code language: JavaScript (javascript)
组成部分说明
class Student定义一个名为 Student 的类
成员变量(age、name、local)描述对象的属性
成员方法(ShowInfo、setAge)描述对象的行为

对象的创建与成员访问

Student zs = new Student(); // 创建 Student 对象,zs 为引用变量
zs.age = 12;               // 给成员变量赋值
zs.name = "张三";
zs.local = "北京";
zs.ShowInfo();             // 调用成员方法Code language: JavaScript (javascript)
操作语法示例
创建对象new 类名()new Student()
访问成员变量对象名.成员变量zs.age
调用成员方法对象名.成员方法()zs.ShowInfo()

this 关键字

void setAge(int age) {
    this.age = age; // this.age 指成员变量,age 指参数
}Code language: JavaScript (javascript)
用法说明
this.成员变量区分同名的成员变量和局部变量
this.成员方法()调用当前对象的成员方法

多个对象互相独立

Student zs = new Student();
zs.age = 12;

Student ls = new Student();
ls.age = 23;Code language: JavaScript (javascript)

zs 和 ls 是两个独立的对象,各自拥有独立的成员变量空间,互不影响。

类与对象的关系总结

概念说明类比
类模板、定义月饼模具
对象实例、具体个体用模具压出的月饼

注意事项

要点说明
成员变量默认值未赋值时有默认值(int 为 0,String 为 null)
一个文件多个类一个 .java 文件中可以定义多个类,但只能有一个 public 类
成员变量 vs 局部变量成员变量属于对象,局部变量属于方法
new 的作用在堆内存中开辟空间,创建对象并初始化成员变量

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注