2014-03-28 113 views
-6

如果我要在Java中创建一个简单的类,并且只有一个实例变量的整数数组,那么默认构造函数会有什么意义?我不想把它留空。数组默认构造函数

+4

这取决于你和你的用例。 –

+2

这是一个奇怪的问题。你基本上是说你不喜欢空的构造函数是怎么样的,你想用一些不必要的功能来装饰它? –

+0

不,我只是不想像我最后的任务停靠点。 Yeesh。 – SoloMael

回答

7

你可以这样做:

public class IntArrayDemo { 
    private static final int DEFAULT_SIZE = 10; 
    private int [] values; 

    public IntArrayDemo() { 
     this(DEFAULT_SIZE); 
    } 

    public IntArrayDemo(int size) { 
     if (size < 0) throw new IllegalArgumentException("size cannot be negative"); 
     this.values = new int[size]; 
    } 
} 
2

如果你想在实例化类时设置包含的数组,你应该使用该数组作为构造函数的参数。否则,一个空的构造函数就没事了(你不需要明确地声明它,每个没有显式构造函数的类默认都是空的)。

public class ArrayWrapper { 
    private final int[] innerArray; 

    public ArrayWrapper(int[] values) { 
     this.innerArray = values; 
    } 
} 
2

空构造函数没有错。如果你真的想要填写它,你可以初始化你的列表:

//... 
private SIZE = 10; 
private int [] list; 

public MyClass() { 
    list = new int [SIZE]; 
}