当前位置: 首页 > 面试题库 >

在zipFile处添加什么以避免无效的方法声明:Java中方法类型为必需的异常?

赵开诚
2023-03-14
问题内容
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<String>();
}

此逻辑引发无效的方法声明:必需的方法类型。我可以知道在zipFIle方法中添加的内容吗?


问题答案:

如果zipFIle()是方法(而不是构造函数),则需要添加返回类型。如果您不想返回任何东西,请使用void

void zipFIle() {
  fileList = new ArrayList<String>();
}

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

但是…您的其他代码:

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<String> fileList;

  zipFIle() {
    fileList = new ArrayList<String>();
  }

  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



 类似资料:
  • 我刚开始学Java。下面是我尝试在Intellij上运行的代码。我没想到下面的代码在执行时会有问题,因为我复制和粘贴的代码100%相似。从学习材料中可以看出,它应该工作得很顺利。我想知道这里出了什么问题?谢谢,我希望有人能向我澄清。

  • 问题内容: 我们现在正在学习如何使用多个类,并且有一个项目要求创建一个包含a 和a的类,然后从主类中引用它以找到直径。此代码继续收到错误(标题中提到) 感谢您的帮助,-AJ 更新1 :好的,但是我不必将第三行声明为double,对吗?在我正在学习的书中,该示例没有做到这一点。 如您所见,该代码与我在我的代码中有什么不同?无论出于什么原因,本书的代码中都没有错误,但是我的说法是那里有错误。 问题答案

  • 本文向大家介绍Java中避免空指针异常的方法,包括了Java中避免空指针异常的方法的使用技巧和注意事项,需要的朋友参考一下 没人会喜欢空指针异常!有什么方法可以避免它们吗?或许吧。。 本文将讨论到以下几种技术 1.Optional类型(Java 8中新引入的) 2.Objects类(Java 7中原有的) Java 8中的Optional类 它是什么? 1.Java 8中新引入的类型 2.它是作为

  • 我最近在Eclipse中查看了我的警告,发现了这样一个警告: 如果方法可以声明为静态,它将给出编译器警告。 [编辑]Eclipse帮助中的确切引用,强调私有和最终: 如果启用,编译器将为私有或最终的方法以及仅引用静态成员的方法发出错误或警告。 是的。我知道我可以关掉它,但我想知道打开它的原因? 为什么将所有可能的方法声明为静态方法是一件好事呢? 这会给性能带来什么好处吗?(在移动域中) 指出一个方

  • 问题内容: 我正在尝试实现UITableViewDataSource的必需方法,但出现一个奇怪的错误: “无效的’tableview(_:cellForRowAtIndexPath :)重新声明’” 但是我不确定是什么问题。这是相关的两行代码,即类的声明和符合协议/超类的代码: 以及触发错误的函数声明: 问题答案: 您在课堂上有两次此功能。搜索它并删除其中之一。

  • 问题内容: Java中方法声明的语法如下所示: Java方法声明BNF: 我想知道方括号是什么意思。 谁能给我一个例子吗? Java中的方法声明是否如上(泛型如何)? 在哪里可以找到Java的完整和实际的BNF语法? 问题答案: 方括号表示方法返回数组。例如,您可以编写一个返回int数组的方法,如下所示: 但是,许多人不熟悉此语法,最好避免使用。 您可以在此处找到Java 7的完整语法:http