public class Draft {
public static void main(String[] args) {
Person p1 = new Person();
p1.name = "小李";
p1.age = 1;
p1.laugh();
}
public static class Person {
String name;
int age;
public void laugh(){
System.out.println(this.name + "在笑");
}
}
}
通过上面的代码,我们来解决这3个问题
什么是实例化?
Person p1 = new Person();
这行代码就是所谓的实例化
- 右边的new Person(),是以Person为模板,在堆空间里创建一个Person类对象(也可以叫做Person对象)。
- 末尾的()意味着,在对象创建后,立即调用Person类的构造函数,对刚生成的对象进行初始化。构造函数是肯定有的。如果你没写,Java会给你补上一个默认的构造函数。
- 左边的“Person person”创建了一个Person类引用变量。所谓Person类引用,就是以后可以用来指向Person对象的对象引用。
- “=”操作符使对象引用指向刚创建的那个Person对象。 不实例化的对象是不能使用的。会空指针异常。
实例化的用处
通过上面我们定义的Person类,我们可以将Person类看成是一个人的模板,每个人都有自己的名字和年龄和动作。但是这只是一个模板。
然后我们通过实例化,创建一个引用变量,引用变量就好比是一个婴儿,你需要引用Person类的模板才能给他赋予名字,年龄以及方法。