четверг, 14 августа 2014 г.

Non-static method cannot be referenced from a static context

Ошибка Non-static method cannot be referenced from a static context в java при компиляции программы возникает, когда мы в классе пытаемся вызвать нестатичный метод.

Пример программы с такой ошибкой:

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

Комментариев нет:

Отправить комментарий