2016-06-02 3 views
0

Невероятно новый для Java, поэтому простите простоту в этой проблеме. Я просмотрел сообщения по этой проблеме, но никто не помогает. Это ошибка, которую я получаю; 'Не найдено подходящего контрмера для AQAWriteTextFile2016 (String)' для кода ниже.Не найдено подходящего конструктора

String filename = "src/warships/resources/PreviousGame.txt"; 
AQAWriteTextFile2016 write = new AQAWriteTextFile2016(filename); 

Я извиняюсь, если решение-то простое, я проверил через класс AQAWriteTextFile2016 и все, что нужно для работы является параметром типа String.

AQAWriteTextFile2016(String filename) { 

openFile(filename, false); 

} 

    public void openFile(String filename, boolean append) { 
try { 

    outputFile = new BufferedWriter(new FileWriter(filename, append)); 

} catch (IOException e) { 
    e.printStackTrace(); 
} // end try/catch open file 
} // end openFileString 
+3

Не могли бы вы поделиться классом 'AQAWriteTextFile2016'? –

+1

Пожалуйста, отредактируйте свой вопрос, чтобы добавить код. Это невозможно прочитать в комментарии. –

+1

Просьба указать [Минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve). – radoh

ответ

0

Это может быть то, что вы думаете, как конструктор с аргументом будет строка на самом деле метод, имеющий имя AQAWriteTextFile2016. Посмотрите внимательно на тип возврата. Конструктор не должен иметь никакого типа возврата. Надеюсь, поможет.

+0

Я не верю, что метод 'AQAWriteTextFile2016' возвращает что-либо, код для этого класса включен в сообщение сейчас –

3

Из фрагмента кода в коде мы видим, что конструктор не имеет спецификатора доступа. Таким образом, он имеет видимость по умолчанию, которая является приватной для пакета. Это можно увидеть только из одного и того же пакета.

Если вызов конструктора выполнен из другого пакета, его нельзя увидеть.

Следовательно, вы должны сделать конструктор public или позвонить в тот же пакет.

+0

Это сработало, спасибо –

Смежные вопросы