2014-03-28 140 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]; 
}