Найти тему
DEBAGanov

Java 159. Можно ли использовать private или protected переменные в interface?

В 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