ちょうせい
1.文法とは?
構文とは、クラスやメソッドなどの宣言に@を使用することです.文法は英語でAnnotation、メタデータとも呼ばれます.
なんだ.
コンパイル
2.使用のための3つのシナリオ
JAva言語には使用するための文法が3つ,文法を宣言するための文法が4つある.ただし、このメタ宣言は宣言のために存在するため、通常使用可能な宣言は以下の3つしかありません.
1. @Override
メソッドが親のメソッドを超えていることを宣言します.Overrideを実行すると、親クラスのメソッドの名前とパラメータが同じ値になります.
2. @Deprecated
事前に作成されたクラスまたはメソッドが使用されなくなった場合があります.私はそれをdeprecatedと呼んでいますが、コンパイラに言いました.「もう使わないので、後で誰かが使ったら警告します...」そう思えばいい.
3. @SupressWarnings
エンコードを行うと、コンパイラから警告が表示されることがあります.番組は大丈夫です.自分で見ています.このような警告が出て、心が苦しくなりました.この時、彼はコンパイラに言います:“彼はわざとこのようにコードして、あなたは彼に警告する必要はありません.”
3.声明声明声明
Meta Annotationは、Arnotationを直接宣言するために使用されます.Metanovationには4つの側面があります.
1. @Target
どのような側面に適用されるかを宣言するために使用します.適用方法は以下の通りです.
@Target(ElementType.METHOD)
これにより、@Target()カッコで適用対象オブジェクトが指定され、そのターゲットリストは次のようになります.要素タイプ
オブジェクト
CONSTRUCTOR
作成者を宣言するとき
FIELD
enum定数を含むフィールド(フィールド)値を宣言する場合
LOCAL_VARIABLE
ゾーン変数を宣言する場合
METHOD
メソッド宣言時
PACKAGE
パッケージ宣言時
PARAMETER
パラメータ宣言時
TYPE
クラス、インタフェース、enumなどを宣言する場合
2. @Retention
声明声明声明声明声明声明情報がどのくらい保持されるかを声明する.
@Retention(RetentionPolicy.RUNTIME)
@Targetの場合、カッコで指定した適用対象は次のとおりです.オブジェクト
SOURCE
コンパイル中にクエリー情報が消えます
CLASS
コンパイラは、クラスファイルの構成情報を参照できます.しかし、仮想マシンからは消えてしまいます.
RUNTIME
仮想マシンは、実行時にクエリーに関する情報を参照できます.
3. @Documented
「文法に関する情報はJava(API)ドキュメントに含まれる」と宣言します.
4. @Inherited
すべてのサブクラスが親クラスの構文を使用できることを宣言します.
また、@interfaceは宣言宣言に使用されます.
リファレンス
Reference
この問題について(ちょうせい), 我々は、より多くの情報をここで見つけました https://velog.io/@jsj3282/어노테이션テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol