- 真的更好吗?
IMO,不是。
- 是否有一些良好的理由:惯例?风格?
选择一种方式而不是另一种方式可能有正当的理由,即您有多个构造函数,或者初始值取决于构造函数参数;例如
private int[] tab;public Example(int size) { tab = new int[size]; for (int i = 0; i < size; i++) tab[i] = (int) (Math.random() * 100);}要么
private int[] tab = new int[10];public Example(int initial) { for (int i = 0; i < 10; i++) tab[i] = initial;}public Example() { for (int i = 0; i < 10; i++) tab[i] = (int) (Math.random() * 100);}除此之外(在您的示例中),没有关于此的一般规则。这是个人喜好问题。
- 它会改变使用更少/更多内存的东西吗?
在您的示例中,它没有任何区别。通常,代码大小或性能可能会有微小的差异,但这并不值得担心。
简而言之,我认为您对朋友的建议没有合理的依据。
以我的学习方式,您可以使用基本类型(int,double …)初始化变量,但对于数组,则应在构造函数中进行初始化。
您应该不了解…或至少认识到这只是个人喜好。



