2016-06-13 52 views
0

我最近開始學習java編程語言,在這個問題上我需要一些幫助。由於聲明瞭以下領域作爲ArrayList私人private ArrayList<String> files;寫列出此集合的所有成員的方法的報頭(簽名)類文件。調用你的方法listAllFiles。我目前的嘗試是這樣的。需要關於Java簽名的幫助

private listAllFiles(ArrayList<String>); 

回答

1

你的方法有先訪問級別(例如privateprotectedpublic或沒有爲默認級)之後,它必須定義什麼它返回,所以我從描述假設這將一無所有(void),如果你有這個類中的字段,你不需要任何參數:

private void listAllFiles(); 
3

你會忽略從你的方法的返回類型。所有Java方法都必須返回一個類型或void

如果你的方法簡單地列出了一個String Object所有文件,那麼它可以返回一個字符串:

public String listAllFiles() 

如果它列出的所有文件到System.out它可以返回void

public void listAllFiles() 

或者它可能會返回private ArrayList<String>副本(因而留下私有變量不變到客戶端):

public List<String> listAllFiles() 

請注意,您的方法可能應該是public以允許客戶端使用它......這在很大程度上取決於需求,並且該方法可能適用於privateClass

請注意,正如@Thilo在評論中指出的那樣,如果您要返回List,您應該「編程到接口」,返回List而不是特定類型的List,從而允許您更改實際List執行,如果/當需求發生變化。

2

如果方法只是打印出來的東西,則返回類型是void(無):

public void listAllFiles(){ 
    // no need to pass in the string list, because we can do 
    for (String l: this.files){ 
    // .. 
    } 
}