2015-11-23 2 views
-2

Я прочитал несколько статей и документацию оракула, но примеров, когда используются атрибуты в интерфейсе Java, недостаточно. Из некоторых ресурсов я понял, что атрибуты интерфейса могут иметь только статические конечные типы атрибутов, и вы должны их инициализировать. С другой стороны, в некоторых статьях говорится, что существует способ создания переменных внутри интерфейса, что для меня не имеет смысла. Link to article Может ли кто-нибудь разъяснить, как работают атрибуты интерфейса в Java? А также сказать, что у меня есть интерфейс Drawable, и у него есть статическая ширина поля, могу ли я получить доступ к этому полю Drawing.width?Атрибуты в интерфейсе Java

+0

Вы можете попробовать: – AlexWien

+0

Или посмотреть JLS. – csmckelvey

+0

И ссылку articel, которая гласит: «Это способ создания переменных внутри интерфейса». – AlexWien

ответ

1

Я попробовал это для вас:

Поля, определенное в интерфейсе является статическим окончательным, Altough Это не обязательно использовать «статические финальные» ключевые слова: Это аналогично тому, что все методы являются публичными хотя нет необходимости использовать общедоступное ключевое слово.

Иногда имеет смысл использовать это для констант, чтобы избежать дублирования определений . Представьте интерфейс, который используется для хранения версий объектов: И максимальная версия ограничена 255, из-за ограничения базового протокола.

public interface IVersion { 

    int MAX_VERSION = 255; 
    int getVersion(); 
    /** 
     The implementing class should throw a 
     IllegalArgumentException when version exceed MAX_VERSION 
    */ 
    void setVersion(int version); 
} 
Смежные вопросы