一个对象变量并没有实际包含一个对象,而仅仅引用一个对象。
对象创建有两种方式
1 直接创建
public class Person {
public static void main(String[] args) {
Person p = new Person();
}
}
2 先声明再创建
public class Person {
public static void main(String[] args) {
Person p;
p = new Person();
}
}
解释:
p是对象变量,对象变量就是变量,符合 数据类型 变量名; 的定义方式(类是数据类型,属于引用类型)
Person p;
该语句定义了对象变量p,它可以引用Person类型的对象。但是,变量p不是一个对象,实际上也没有引用对象。
p = new Person();
该语句中“new Person()"构造了一个Person类型的对象,它的值是对新创建对象的引用;然后将该值赋值给p。
从内存角度看二者区别: