Можно ли определить интерфейс следующим образом:
public interface Test{
public string name1;
private String email;
protected pass;
}
Когда вы объявляете интерфейс. Компонент java добавляет общедоступные и абстрактные ключевые слова перед методом интерфейса, а также публичное, статическое и конечное ключевое слово s перед тем, как данные автоматически
public interface Test{
public string name1;
private String email;
protected pass;
}
так как вы объявляете переменную в тестовом интерфейсе с частной и защищенной, она будет давать ошибку. если вы не укажете модификатор, компилятор автоматически добавит открытый статический финал.
public interface Test{
public static final string name1;
public static final String email;
public static final pass;
}
Самое главное, что
интерфейсы не могут быть созданы, поэтому переменная является статической
интерфейс используются для достижения 100% -ной абстракции там для переменной, являются окончательными
Интерфейс обеспечивает способ взаимодействия клиента с объектом. Если переменные не были общедоступными, клиенты не имели бы к ним доступа. поэтому переменная является общедоступной
Наличие частных или защищенных членов в интерфейсе концептуально не имеет смысла. По определению, что-то, что является "частным", не раскрывается, и поэтому любому, кто потребляет интерфейс, все равно, если у класса реализации есть личное поле электронной почты или нет.
Только члены сообщества имеют значение для кода, использующего интерфейс.
быть java
разрешены только публичные, статические и конечные
Вы должны использовать abstract
класс вместо interface
если хотите объявить его поля.