В Java переменные, объявленные с модификаторами private или protected, не могут быть использованы непосредственно в интерфейсах (interfaces).
Интерфейсы содержат только абстрактные методы, константы и методы по умолчанию (default methods), которые все являются public. Поэтому любая переменная в интерфейсе также должна быть объявлена как public и static и иметь значение, которое не может быть изменено.
Например, следующий код корректно определяет интерфейс с публичной статической константой:
public interface MyInterface {
public static final int MY_CONSTANT = 10;
}
Если вы хотите создать интерфейс с переменными, которые должны быть использованы другими классами, то можно использовать ключевое слово public вместо private или protected.
Например, следующий код определяет интерфейс с публичной переменной myVariable:
public interface MyInterface {
public int myVariable = 20;
}
Таким образом, в интерфейсах в Java не могут быть использованы переменные с модификаторами доступа private или protected. Вместо этого любые переменные в интерфейсах должны быть объявлены как public и static.
1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions
Tелеграмм канал: https://t.me/DEBAGanov
Мое резюме: https://github.com/DEBAGanov