0
点赞
收藏
分享

微信扫一扫

创建对象时,=null 和new的区别

爱奔跑的读书者 2022-02-28 阅读 50
java

例子:

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;是等效的。
 

举报

相关推荐

0 条评论