JavaRush /Java Blog /Random-JA /注釈。パート1、ちょっと退屈

注釈。パート1、ちょっと退屈

Random-JA グループに公開済み
最初の部分。SOURCE 型と CLASS 型のアノテーションについて非常に簡単に書きました。後半で迷子にならないように、そしてもう少し「誤解」を始めるために、読む価値があります =) ここには、少なくとも 1 つの知っている単語が必ずあるはずです。
注釈。 パート 1、少し退屈 - 1
ここで初めて彼らが問題を抱えているのを見たとき、どういうわけか気づかなかった。まあ、Override はたむろしていて、IDEA によって書かれたものなので、それがそのはずです。時間が経つにつれて、すべてはもっと奥深いことに気づきました。勉強していると、注釈は役に立たないように見えますが、必要です。なぜ彼らがそんなことをするのかわかりません。いくつかの記事を読んだ気がします。「注釈が追加され、すべてが非常にシンプルになったのは素晴らしいことです」と書かれていました。でも、以前はどうだったのかわかりませんでしたし、今が楽になったということもわかりませんでした。今わかったので、少しお話したいと思います。 注釈には 3 種類あります (RetentionPolicy)。
  • SOURCE – コンパイラの注釈
  • CLASS – アノテーションのデータはバイトコードに書き込まれますが、操作中には使用できません。彼らは、標準ライブラリの多くのアノテーションがこの型を使用しており、現在は下位互換性のためにこの型を保持していると書いています。非常に特殊なタスクに使用されます。
  • StackOverflow に関する質問と回答
  • RUNTIME – 最も一般的で、コードの実行中に使用されます。
導入部分で記事の一部を取り上げたので、ここではSOURCEとCLASSのアノテーションについて書いていきます。以下に私が見つけることができた要約を示します (問題 3607 のおかげで)。ランタイムについては書きません。ランタイムは多すぎるので、それはこの記事の主題ではありません。 ソース:
  • java/lang/annotation/Native.class;
  • java/lang/SuppressWarnings.class
  • javax/annotation/Generated.class
  • ,java/lang/Override.class
クラス: CLASS 型の注釈がなぜ必要なのかわかりません。既存のアノテーションに関するドキュメントが見つからなかったので、この荷物は放っておいてもいいと思います。でも、見つけたらぜひシェアしてください。ソースの注釈:
  1. ネイティブ– このアノテーションの下の変数はネイティブ コードを参照できます。

  2. SuppressWarnings – さまざまなコンパイラ警告を抑制します。

  3. 生成済み- 生成されたソース コードをマークします。

  4. オーバーライド– メソッドのオーバーライドをチェックします。
詳細:
注釈。 パート 1、少し退屈 - 2
ネイティブ- 見たことも使用されたこともありません。これはかなり珍しい注釈だと思います。別の「ネイティブ」言語でコードを実行する必要がある場合にそれを使用します。彼女についての明確な言及を見つけようとしましたが、見つかりませんでした。
注釈。 パート 1、少し退屈 - 3
SuppressWarnings - @SuppressWarnings("unchecked") の形式でよく使用されます。認識している警告を抑制するために使用されます。上記の例では、チェックされていない型のキャストに関する警告が抑制されます。繰り返しますが、私はこの形式と使用法でのみそれに遭遇しました。
注釈。 パート 1、少し退屈 - 4
生成- タスクで xsd ファイルからクラスを生成する必要があるときに、これに遭遇しました。これら 3 つの注釈は非常に具体的であり、現時点ではおそらく興味がありません。最後について説明します。
注釈。 パート 1、少し退屈 - 5
オーバーライド- 常に使用すると、非常に便利な機能が得られます。IDEA がオーバーライドしない限り、メソッドをオーバーライドするときは間違いを犯しやすいです。タイプミスまたは単なる間違いがあります。このアノテーションにより、親クラスのメソッドが (ラベル付き) メソッドと同じであることが保証されます。これにより、メソッドがオーバーライドされ、追加されないことが保証されます。コードをリファクタリングする場合、メソッドを削除または変更することができます。繰り返しますが、注釈によってエラーが示されます。それがなければ、私たちの方法は単に完成したものになってしまいます。
注釈。 パート 1、少し退屈 - 6
つまらない?この記事から得られる有益な情報はあまりありません。その内容のほぼすべて (90%) は、使用しないもの、または使用するものについての話ですが、非常にまれです。残りの 10% は hello と Override アノテーションの説明ですが、一見すると役に立ちません。まあ、記事の後半はもっと面白いものになると思います。RUNTIME アノテーションがあり、リアルタイムでコードと対話して黒魔術を作成します。 注釈。パート2。ロンボク島。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION