2016-06-13 153 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){ 
    // .. 
    } 
}