Что добавить в zipFile, чтобы избежать недопустимого объявления метода: исключение типа метода в Java?

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(); } 

Вы также можете добавить модификатор доступа ( public , protected или private ), если уровень доступа по умолчанию неверен.

Однако … ваш другой код:

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

… предлагает zipFIle – это имя classа. Итак … Я собираюсь предположить, что это, возможно, конструктор, который вы пишете? Если это так, вы не должны объявлять какой-либо тип возврата, и ваш существующий код должен работать, если вы не включили его в файл classа:

 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 – это ужасное имя для метода или classа. Если это имя classа, используйте TitleCase . Если это имя метода, используйте camelCase .