成员变量的声明时初始化和构造方法中初始化的区别是什么? 什么情况下用什么方式?
我觉得楼上都说的很好了。补充一下我的意见吧。或者我的一点看法。
这两者的区别就是初始化的时间不同,最大的区别是在用法上的区别。这是两种思想,都是为了方便开发使用,没有真正的谁一定就有利有弊。这就要看具体需要了、
比如我们不需要在以后用到这个变量的时候,我们在函数声明的时候就给它一个固定的值,并且最好让他静态,让它final。这时候当类一加载进来它也就初始化完毕了,放在了专门的存储区。我们在后面的使用过程中是相当方便的。比如一些固定的字段,例如圆周率PI。
而当我们在以后使用到这个变量的时候我们需要再次给他赋值的时候,我们这时候可以选择在构造其中初始化,可以让我们来指定这个变量的值了。甚至还可以在其他函数中更改这个变量的值。比如上面举到的公司的例子。是吧,我们得根据具体的需要来采取具体的方法。
|