Два понятия не связаны:
- В iPhone SDK аннотация - это своего рода примечание, которое вы можете поместить на карту.
- В Java (и Android SDK) аннотации - это особенность языка Java, используемая для добавления метаданных определенных типов в классы.
В мире Java аннотации представляют собой теги времени компиляции, которые прикрепляются к коду кода. Они добавляют метаданные во фрагмент кода, который впоследствии могут использовать инструменты или третьи стороны (или даже ваш собственный код). Но они обычно не влияют на способ выполнения кода; то есть, если вы удалили аннотацию, этот фрагмент кода, как правило, не должен вести себя иначе.
Простой пример - пометка фрагмента кода с уведомлением об авторских правах. Вот аннотация, которую мы могли бы использовать для этого:
public @interface Copyright {
String value();
}
А вот как мы прикрепим эти метаданные к коду:
@Copyright(value = "2010, United States National Security Administration")
public class QuantumCryptographyDecoder { ... }
Если есть только одно свойство аннотации с именем value
, вы можете опустить спецификатор value =
в качестве ярлыка:
@Copyright("2010, United States National Security Administration")
public class QuantumCryptographyDecoder { ... }
В противном случае вы должны указать его:
@Created(year = 2010)
public class ShinyNewClass { ... }
Если мы удалим аннотацию @Copyright
, QuantumCryptographyDecoder
будет работать так же, как и раньше. Там просто не будет никаких Copyright
метаданных, прикрепленных к нему. Но сторонний инструмент, который выполнял какую-то проверку (например, требовал, чтобы все классы, к именам которых было добавлено «Quantum») с приложенным @Copyright
уведомлением), мог предупредить вас о пропущенном @Copyright
или предпринять какое-либо другое полезное действие.