我有一個類,並在該類我有這樣的:Java的初始化在構造函數int數組
//some code
private int[] data = new int[3];
//some code
然後在我的構造函數:
public Date(){
data[0] = 0;
data[1] = 0;
data[2] = 0;
}
如果我這樣做,一切都OK 。默認數據值初始化,但如果我不是這樣做:
public Date(){
int[] data = {0,0,0};
}
它說:
Local variable hides a field
爲什麼?
什麼是在構造函數中初始化數組的最佳方式?
感謝
我希望你是知道的變量的作用域的概念?你的變量'data'在'「之後//」某個代碼「'具有整個類的範圍。而構造函數中的變量'data'在構造函數中有一個作用域。一旦構造函數完成,變量將被銷燬。此外,構造函數中的data變量在類中隱藏了相同名稱的變量。這證明錯誤'本地變量隱藏字段' –