java中,有一个类A ,A s和A s = new A()。两者有什么区别?

2024-11-30 19:51:00
推荐回答(2个)
回答1:

A s

只是在栈内存中声明了一个A类型的变量 s,并没有创建A类的对象

A s = new A()

在栈内存中声明了一个A类型的变量 s,在堆内存中创建一个A类的对象,将对象的地址赋给变量s。

回答2:

第一个只是声明了一个对象,并没有实例化,也就是还没有在内存分配地址,你不能直接使用的,需要第二种方式进行实例化,才能使用这个对象的属性或者方法.