Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:
null
. null
. null
, как если бы это был массив. null
, как если бы это был массив. null
как будто это было значение Throwable. Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null
.
Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html
Я использовал его в Spring для аннотирования интерфейсов, где аннотация должна относиться ко всем подклассам. Например, скажите, что у Вас есть интерфейс Service, и у Вас могло бы быть несколько реализаций интерфейса, но Вы хотите, чтобы аннотация безопасности применялась независимо от аннотации. В этом случае это имеет большую часть смысла аннотировать интерфейс.
Я использую findbugs экстенсивно. Я нахожу, что использование аннотации указывает очень полезные ограничения Ничтожности. Даже если Вы на самом деле не используете findbugs, он делает намерение кода намного более ясным. Те аннотации имеют свое место в Интерфейсах так же как Классы. Вы могли утверждать, что это - вид программирования согласно контракту...
Даже без примеров, это должно быть ясно объяснить - интерфейсы описывают поведение, и так могут аннотации, таким образом, это - логическое соответствие для соединения их.
Больше пример, но Локальный и Удаленный аннотации в EJB3. Согласно документу Java,
При использовании в интерфейсе определяет тот интерфейс как локальный бизнес-интерфейс.
я предполагаю, что вариант использования вот - то, что интерфейс имеет специальную функцию, лучше всего обозначенную аннотацией.
Я видел, что много инструментов исследования использует аннотации метода, чтобы позволить пользователям указывать протоколы, ограничения, и т.д. упрощать автоматическую проверку позже.
, Так как аннотации не диктуют то, что можно сделать с ними, нет никакого серьезного основания не позволить пользователям аннотировать интерфейсы.
Вы могли использовать его для программирования стиля контракта - идут один шаг вперед, чем просто определение интерфейса (типы и имена методов) и также определяют некоторую семантику (содержание типов, предварительных условий, постусловий).
я должен был бы выяснить, как аннотации работают в Java, хотя, но этот материал мог легко быть сделан с аннотациями Python...
При развертывании приложений под JBoss можно использовать аннотации на интерфейс для экспорта сервиса в jmx-консоли.