例子:
UserInfo userInfo = new UserInfo();
UserInfo userInfo = null;
区别在于:
1:前者声明了一个对象的引用以后,在jvm中将一块新开辟的没有任何有效值的空间赋给了它,后者只是声明了一个对象的引用,jvm并没有开辟空间。
2:在使用的时候,如果类创建以后需要自己读写对象,就必须初始化。
3:如果声明的对象是从其他地方接收引用可以写为=null的形式,例如:
BookInfo bookinfo=null与BookInfo bookinfo=new BookInfo():
前者,是声明了一个对象(的引用),jvm并没有开辟内存放入一个对象;
而后者,在声明了一个对象的引用后,又把新开辟的没有存储任何有效值的对象的地址赋给了他。
bookinfo=test.getinfo(),声明的对象是从其他地方接收引用,可以使用BookInfo bookinfo=null
4:声明一个类(对象)需要用到类中的方法的时候,需要new。
5:另外,UserInfo userInfo = null;和UserInfo userInfo;是等效的。