相关疑难解决方法(0)

java中的约定 - 构造函数/方法之外的"new"?

简单的问题.一个心灵的朋友写了类似于这个的代码(这只是为了解释你我的问题,它根本没有用......)

class Example{
    private int[] tab = new int[10];
    public Example() {
        for(int i = 0 ; i < 10 ; i++)
            tab[i] = (int)(Math.random()*100);
        for(int i = 0 ; i < 10 ; i++)
            System.out.println(tab[i]);
    }
    public static void main(String[] arg) {
        Example ex = new Example();
    }
}
Run Code Online (Sandbox Code Playgroud)

我告诉他他应该把new构造函数放在里面

class Example{
    private int[] tab;
    public Example() {
        tab = new int[10];
    ...
}
Run Code Online (Sandbox Code Playgroud)

当他问我为什么时,我不知道该回答什么:除了"这样做更好"之外,我没有明确的争论.我学习它的方式,您可以使用基本类型(int,double ...)初始化变量,但对于数组,您应该在构造函数中执行它.

所以:

  • 它真的更好吗?
  • 有一些很好的理由:会议,风格?
  • 是否会改变使用更少/更多内存的东西?

我不考虑元素数量可能变化的情况.它总是10

java new-operator

7
推荐指数
1
解决办法
3411
查看次数

标签 统计

java ×1

new-operator ×1