Такая ошибка:
public class Test {
public static void main(String[] args) {
readFile(); // здесь выдаётся ошибка, но если указать ниже в методе public STATIC void readFile() то ошибка уходит.
}
public void readFile() throws FileNotFoundException {
File file = new File("sdsd");
Scanner scanner = new Scanner(file);
}
}
}
Ошибка, как я понял в том, что метод не статический передаю в статический метод
Public static void main(String[] args)
Правильно ли я мыслю или нет?
Статический метод вызывается у класса, не статический метод вызывается у объекта.
Вам надо либо сделать readFile()
статическим, либо в методе main()
создать объект и у него вызвать метод readFile()
:
Test test = new Test();
test.readFile();
Дело не в том, что вы передаете нестатический метод в статический. Дело в том, что для использования нестатического метода необходимо использовать его на экземпляре класса. Статические же методы можно вызывать без экземпляра класса. Посмотрите на эти примеры:
public class AnotherClass {
static AnotherClass a = new AnotherClass(); //здесь мы создаем статическую переменную, иначе компилятор будет ругаться
public static void main(String[] args) {
AnotherClass b = new AnotherClass(); //здесь использование static не обязательно, так как переменная создается внутри метода
a.readFile();
b.readFile(); // оба варианта возможны
}
public void readFile() {
try {
File file = new File("sdsd");
Scanner scanner = new Scanner(file);
}
catch (FileNotFoundException e) {
}
} // если не использовать конструкцию try{} catch{}, то компилятор будет ругаться на неотловленное исключение. Ключевое слово throws же говорит о том, что внутри метода вручную бросается какое-то исключение с помощью throw, что у вас не происходит.
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Мне необходимо получить два значения конкретных значения с сайта, у каждого значения свой уникальный тегВсе это получается в программе для...
Начал смотреть что такое Hibernate и БД PostgreSQL, но столкнулся с проблемойIdea выкидывает следующее сообщение