Ошибка Non-static method cannot be referenced from a static context в java при компиляции программы возникает, когда мы в классе пытаемся вызвать нестатичный метод.
Пример программы с такой ошибкой:
При компиляции данной программы вы увидите ошибку:
GuessGame.java:11: error: non-static method printMessage(String) cannot be referenced from a static context.
Чтобы этой ошибки не было, метод нужно сделать статичным:
Пример программы с такой ошибкой:
import java.util.Scanner; import java.util.Random; class GuessGame { //Данный метод мы не объявили статичным private void printMessage(String message) { System.out.println(message); } public static void main(String[] args) { printMessage("Hello, I guessed number from 1 to 15. Try to guess it!"); // Другой код... } }
При компиляции данной программы вы увидите ошибку:
GuessGame.java:11: error: non-static method printMessage(String) cannot be referenced from a static context.
Чтобы этой ошибки не было, метод нужно сделать статичным:
// ... //Делаем метод статичным, добавив "static" private static void printMessage(String message) { System.out.println(message); }