2
@Deprecated public class Betamax { ... }

上記の例では、@Deprecated にはどのような効果がありますか? それは純粋にドキュメンテーションですか?それとも、コンパイラがこのクラスをどのように扱うかについて何かを変更しますか?

4

2 に答える 2

2

コンパイラは、(checks や croaks のように) いくつかの注釈 ( など@Override) を強制します。

しかし、最も便利な部分は、Java 言語 (JDK コア) が何も知らない独自の注釈 (@Entityや など) をライブラリが提供できることです。@PersistenceAwareこれは、言語にドメイン固有の構文糖衣を追加するようなものです。

@Deprecatedドキュメンテーション用です。また、古い JavaDoc@deprecatedタグと同様に、非推奨のメソッド (またはクラス) を使用すると、コンパイラの警告が生成されます。

于 2009-04-20T01:52:04.847 に答える
1

純粋にドキュメンテーション用です。

何かを非推奨としてマークすると、生成された Javadoc を介して、このメソッド/クラスを使用しないことをユーザーに示します。

Date(int year, int month, int date): 非推奨。JDK バージョン 1.1 以降、Calendar.set(年 + 1900 年、月、日) または GregorianCalendar (年 + 1900 年、月、日) に置き換えられました。

何かを非推奨としてマークする場合は、このメソッドの代わりに何を使用する必要があるかをユーザーに示すことをお勧めします。

于 2009-04-20T01:58:28.623 に答える