2009-04-20 2 views
2
@Deprecated public class Betamax { ... } 

В приведенном выше примере, какой эффект имеет @Deprecated? Это чисто документация? Или это что-то изменило о том, как компилятор относится к этому классу?Являются ли аннотации главным образом о документировании кода или они выполняются компилятором?

ответ

2

Компилятор применяет (как и при проверке и кряках) некоторые аннотации (например, @Override).

Но самая полезная часть состоит в том, что библиотеки могут предоставлять свои собственные аннотации (например, @Entity или @PersistenceAware), из которых язык Java (ядро JDK) ничего не знает. Это похоже на добавление специфического для сайта синтаксического сахара прямо на язык.

@Deprecated предназначен для документации. Он также создает предупреждения компилятора, когда вы используете устаревший метод (или класс), как и старый тег JavaDoc @deprecated.

1

Чисто для целей документации.

Если вы отметили что-то как устаревшее, вы указываете пользователю через сгенерированный Javadoc, что этот метод/класс не должен использоваться, например.

Дата (int year, int month, int date): Устаревший. Начиная с версии JDK версии 1.1, заменен на Calendar.set (год + 1900, месяц, дата) или GregorianCalendar (год + 1900, месяц, дата).

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

 Смежные вопросы

  • Нет связанных вопросов^_^