New一下的话,就表示在内存中已经开辟了这个对象的空间 而没有New的那只是声明,在内存中并没有这个对象的空间 就是说你想用这个对象接受一些东西,那么这个对象必须要NEW;
new 是创建一个对象.
如果想省了new,使用
public static xx 就可以不用new
java 的 new 是实例化一个对象,但实例化肯定要开辟内存空间,如果像 比如: A a=new A(); 为A对象创建了一个实例。但在内存中开辟了两块空间。 一块空间在堆区,存放new A()这个对象。 另一块空间在堆栈,也就是栈,存放 a,a的值为new A()这个对象的内存地址。因为java在JVM(java虚拟机)中运行,所以a描述的内存地址不一定是这个对象真实内存的地址。Object o;//这是声明一个引用,他的类型为Object,他的值为空null,还没有指向任何对象。该引用放在内存的栈区域中。 o = new Object();//new Object()句,实例化了一个对象,就是在堆中申请了一块连续空间用来存放该对象。 = 运算符 将引用o 指向了该对象。也就是说将栈中表示引用o的内存地址的内容改写成了Object对象在堆中的地址。