在类里定义一个成员变量 private Demo d =new Demo() 跟private Demo=null有啥区别

在类里定义一个成员变量 private Demo d =new Demo() 和private Demo=null有啥区别啊
在类里定义一个成员变量 private Demo d =new Demo() 和private Demo=null有啥区别啊
------解决方案--------------------
前面一个是申明了一个句柄并且实例化了一个对象,后面仅仅是申明了一个句柄而已啊。

一般做法是选择后者,然后在构造函数中再去初始化属性。
------解决方案--------------------
引用:
Quote: 引用:

第一个对象实例化了;
恩 我知道第一个对象实例化了啊   我说这个引用变量的属性实例化为啥不好呢   你看其他基本类型 int i=5  赋值了一个值     为啥引用变量就不能赋值一个实例化对象的值呢

占用内存,每一次new都会在内存中分配一块空间,而null则不用,只是在用到的时候才去实例化,可以减少内存的浪费;