2015-06-12 123 views
0

調用時相同的數據結構可以說我有2類:修改從其他方法

class A { 
    public static void main(String[] args) { 
      Class B cB = new ClassB(); 
      cB.modifyMethod(parameter);  
    } 
} 

class B { 
    private ArrayList<String> dataStucture = new ArrayList<String>(); 
    public void modifyMethod(int parameter) { 
     //............... 
    } 
} 

我打算做的是修改dataStructure 3倍。每次都基於一個新參數並調用表單classA。所以如果我打電話一次modifyMethod它會創建我想要的列表,但是當我第二次調用它時,我希望它在同一列表上工作,而不是創建一個新列表。

你能幫我解決這個問題嗎?

+0

這不是你如何實例化一個類。 –

回答

1

如果這是你想要的,那麼你可以進行數據結構的靜態

​​

它將

0

Class B僅在Class A實例化一次B的所有實例之間共享,因此,所有的修改到ArrayList什麼datastructure也適用於datastructure的特定實例。

做這樣的事情:

class A { 
    public static void main(String[] args) { 
      B cB = new B(); 
      cB.modifyMethod(parameter);  
    } 
} 

class B { 
    private ArrayList<String> dataStucture = new ArrayList<String>(); 
    public void modifyMethod(String parameter) { 
     dataStructure.add(parameter); 
    } 
} 

我改變參數的類型modifyMethodString因爲ArrayList的dataStucture是字符串。我也改變了你實例化你的類B的方式,你不需要在B前面的關鍵字Class來實例化它。