要在zipFile中添加什么来避免无效的方法声明:Java中的方法类型必需的exception?

public static void main(String[] args) { zipFIle appZip = new zipFIle(); appZip.generateFileList(new File(SOURCE_FOLDER)); appZip.zipIt(OUTPUT_ZIP_FILE); } zipFIle() { fileList = new ArrayList(); } 

这个逻辑抛出了无效的方法声明:需要方法类型。 我可以知道我在zipFIle方法中添加了什么?

如果zipFIle()是一个方法(而不是构造函数),那么您需要添加一个返回类型。 如果您不想返回任何内容,请使用void

 void zipFIle() { fileList = new ArrayList(); } 

如果默认访问级别不正确,您可能还希望添加访问修饰符( publicprotectedprivate )。

但是……你的其他代码:

 public static void main(String[] args) { zipFIle appZip = new zipFIle(); appZip.generateFileList(new File(SOURCE_FOLDER)); appZip.zipIt(OUTPUT_ZIP_FILE); } 

…建议zipFIle是一个类名。 所以……我猜这可能是你写的构造函数? 如果是这样,您不应该声明任何返回类型,并且您的现有代码应该可以工作,除非您没有将它包含在类文件中:

 public class zipFIle { private final List fileList; zipFIle() { fileList = new ArrayList(); } private void generateFileList(File file) { // whatever... } public static void main(String[] args) { zipFIle appZip = new zipFIle(); appZip.generateFileList(new File(SOURCE_FOLDER)); appZip.zipIt(OUTPUT_ZIP_FILE); } } 

最后说明: zipFIle是一个方法或类的可怕名称。 如果是类名,请使用TitleCase 。 如果它是方法名称,请使用camelCase