2016-03-31 49 views
0

我無法從另一個類向ArrayList添加新元素。將元素添加到Java中的私有Arraylist中

這個類就是ArrayList的是:

public class Registry { 
    private ArrayList<Integer> nums = new ArrayList<Integer>(); 
    public void addNum(int num) { 
     this.nums.add(num); 
    } 
} 

但是,當我從另一個類調用,就像這樣:

Registry reg = new Registry(); 
reg.addNum(1); 

它不添加num到reg.nums。

+7

你怎麼知道的? 'nums'是'private',你沒有訪問者。 –

+1

'註冊表'是否有辦法讓Arraylist? – Gendarme

+0

是否有錯誤? – Atri

回答

0

擁有公共訪問函數爲公共類的私有對象滿足對象的所有需求封裝,我看不到任何你不應該能夠訪問這些對象的原因。

我不知道你是如何檢查結果。因此考慮舉個例子來檢查它是否工作。

註冊表類

public class Registry { 
    private ArrayList<Integer> nums = new ArrayList<Integer>(); 
    public void addNum(int num) { 
     this.nums.add(num); 
     System.out.println("Size of array: " + this.nums.size()); 

     for (int n: nums){ 
      System.out.println("Element of the array: " + n); 
     } 
    } 
} 

測試類:

public class TestArrayList { 

    public static void main(String[] args){ 


     Registry reg = new Registry(); 
     reg.addNum(11); 
     reg.addNum(22); 
    } 
} 

輸出:

陣列的大小:1
數組的元素:11
數組的大小:2
數組的元素:11
數組的元素:22

相關問題