java创建对象,"A a=new A();"和"a=new A()"有什么区别

java创建对象,"A a=new A();"和"a=new A()"有什么区别如题
2024-11-30 09:37:11
推荐回答(2个)
回答(1):

A a;表示申明了一个对象a,它的类型为A,但它只是一个引用,并没有实体。

new A(); 表示新建了一个类型为A的对象实体;
A a = new A(); 新建一个类型为A的对象实体,并将它命名为a,a指向新建的这个对象;
a = new A(); 这种是不能单独存在的,前面必然申明了a的类型,比如: Person p = new Person("张三"),这时候p表示"张三",然后 p = new Person("李四"),这时候p就不再指向"张三"了,而是指向“李四"。

回答(2):

java 对象的创建有几步:

  1. 声明对象A a = null;

  2. 为对象赋值,也就是分配内存空间 a = new A();

其实A a = new A()和 A a = null; a = new A();是一个意思。

前者是后者的简单写法罢了!