参考:https://www.liaoxuefeng.com/wiki/1252599548343744/1260451488854880
类(class)、 实例(instance)定义
eg: 人(一类、class)
小明、小红、小军(都是人,是人这个大类下,一个个例子、instance)
class是一种对象模版,它定义了如何创建实例,因此,class本身就是一种数据类型。
而instance是对象实例,instance是根据class创建的实例,可以创建多个instance,每个instance类型相同,但各自属性可能不相同。
建立了class,就相当于定义了一种生物(比如人),这世界上有很多种人,他们有不同的肤色、年龄、性别、国籍,但他们都是人。如果在人这个class下,建立一个“猫”的instance,就是不对的。
创建类(class)
class Person {
public String name;
public int age;
}
name、age 都是区分人的属性特征,称他们为字段。字段用来描述一个类的特征。
在上述Person类定义中,有两个字段。一个是String类型的字段,用name命名。一个是int类型的字段,用age命名。
public是用来修饰字段的,它表示这个字段可以被外部访问。
创建实例(instance)
定义了class,只是定义了对象模版(人的特性有什么),而要根据对象模版创建出真正的对象实例,必须用new操作符。
Person ming = new Person();
new Person()创建了一个Person类型的实例,并通过一个Person类型的变量ming指向它。实际中,通过这个变量来ming操作实例。
理解:ming相当于给一个特定的人起了一个特定的名字,我们通过改变变量ming来改变这个人的特质。
访问实例变量可以用变量.字段:
ming.name = "Xiao Ming"; // 对字段name赋值
ming.age = 12; // 对字段age赋值
System.out.println(ming.name); // 访问字段name
Person hong = new Person();
hong.name = "Xiao Hong";
hong.age = 15;