Аннотации на интерфейсы?

Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  1. Вызов метода экземпляра объекта null.
  2. Доступ или изменение поля объекта null.
  3. Принимая длину null, как если бы это был массив.
  4. Доступ или изменение слотов null, как если бы это был массив.
  5. Бросок null как будто это было значение Throwable.

Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null.

Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html

18
задан Trilarion 11 January 2018 в 21:06
поделиться

7 ответов

Я использовал его в Spring для аннотирования интерфейсов, где аннотация должна относиться ко всем подклассам. Например, скажите, что у Вас есть интерфейс Service, и у Вас могло бы быть несколько реализаций интерфейса, но Вы хотите, чтобы аннотация безопасности применялась независимо от аннотации. В этом случае это имеет большую часть смысла аннотировать интерфейс.

23
ответ дан 30 November 2019 в 07:23
поделиться

Я использую findbugs экстенсивно. Я нахожу, что использование аннотации указывает очень полезные ограничения Ничтожности. Даже если Вы на самом деле не используете findbugs, он делает намерение кода намного более ясным. Те аннотации имеют свое место в Интерфейсах так же как Классы. Вы могли утверждать, что это - вид программирования согласно контракту...

4
ответ дан 30 November 2019 в 07:23
поделиться

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

4
ответ дан 30 November 2019 в 07:23
поделиться

Больше пример, но Локальный и Удаленный аннотации в EJB3. Согласно документу Java,

При использовании в интерфейсе определяет тот интерфейс как локальный бизнес-интерфейс.

я предполагаю, что вариант использования вот - то, что интерфейс имеет специальную функцию, лучше всего обозначенную аннотацией.

1
ответ дан 30 November 2019 в 07:23
поделиться

Я видел, что много инструментов исследования использует аннотации метода, чтобы позволить пользователям указывать протоколы, ограничения, и т.д. упрощать автоматическую проверку позже.

, Так как аннотации не диктуют то, что можно сделать с ними, нет никакого серьезного основания не позволить пользователям аннотировать интерфейсы.

1
ответ дан 30 November 2019 в 07:23
поделиться

Вы могли использовать его для программирования стиля контракта - идут один шаг вперед, чем просто определение интерфейса (типы и имена методов) и также определяют некоторую семантику (содержание типов, предварительных условий, постусловий).

я должен был бы выяснить, как аннотации работают в Java, хотя, но этот материал мог легко быть сделан с аннотациями Python...

0
ответ дан 30 November 2019 в 07:23
поделиться

При развертывании приложений под JBoss можно использовать аннотации на интерфейс для экспорта сервиса в jmx-консоли.

0
ответ дан 30 November 2019 в 07:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: