Ошибка: The static field should be accessed in a static way (java)


Подобное уведомление «The static field should be accessed in a static way» может выдать вам Eclipse еще до компиляции (при этом сама компиляция проходит успешно). В чем тут проблема? Дело в том, что, скорее всего, вы обращаетесь к статическому полю какого-то класса некорректно.

Например, у нас есть класс:

1
2
3
4
5
6
7
8
9
public class MyHelper {
 
    public static final String PHRASE = "phrase";
    private String var;
 
    public MyHelper (String var) {
        this.var = var;
    }   
}

Вы получили ошибку The static field should be accessed in a static way, т.к. в другом классе вы, наверняка, сначала создали экземпляр данного класса, а потом попытались через него получить доступ к статическому полю:

1
2
MyHelper myHelp = new MyHelper("test");
String phrase = myHelp.PHRASE;

Однако, правильнее будет так:

1
String phrase = MyHelper.PHRASE;

то есть обращаемся по имени класса напрямую.

Другие посты

Категория: Java

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