@オーバーライド: メソッドを制限するには、親クラスのメソッドをオーバーライドします。このアノテーションはメソッドに対してのみ使用できます。
@非推奨: 特定のメソッドを表すために使用されます。プログラム要素 (クラス、メソッドなど) は廃止されています
@SuppressWarnings: コンパイラ警告を抑制します
class father{ public void fly(){} } class son extends father{ @Override public void fly() { super.fly(); } }
@Override は、息子がプログラムをオーバーライドすることを意味します。 fly メソッド
@Override がない場合でも、fly メソッドは書き換えられます
class father{ public void fly(){} } class son extends father{ public void fly() { super.fly(); } }
@Override アノテーションが記述されている場合、コンパイラは、 Method は親クラスの Method をオーバーライドします。書き換えられた場合、コンパイルは成功します。書き換えないとコンパイルエラーとなります。
@オーバーライドはメソッドのみを変更でき、他のクラス、パッケージ、プロパティなどは変更できません。
//@Override底层代码 @Target(ElementType.METHOD)//ElementType.METHOD说明@Override只能修饰方法 @Retention(RetentionPolicy.SOURCE) public @interface Override { }
public class Deprecatedtext { public static void main(String[] args) { father father1 = new father(); father1.fly(); } } @Deprecated class father{ @Deprecated public void fly(){} }
@Deprecated は、特定のプログラム要素 (クラス、メソッドなど) が廃止されていることを意味し、単語の中央に水平線が表示されます。使用が推奨されないことを示します。
//@Deprecated底层代码 @Documented @Retention(RetentionPolicy.RUNTIME) @Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})//说明Deprecated能修饰方法,类,包,参数等等 public @interface Deprecated { }
2.@Deprecated がその役割を果たすことができます古いバージョンと新しいバージョンの間で互換性を移行します。
@SuppressWarnings("all") class father{ public void fly(){} }
@SuppressWarnings アノテーションを使用して、警告情報を抑制できます{""}警告情報を書き込みます抑制したい
1. @SuppressWarnings のスコープが関連しています
public class Enumtext { @SuppressWarnings("all")//作用范围在main方法 public static void main(String[] args) { father father1 = new father(); father1.fly(); } } @SuppressWarnings("all")//作用范围在father类 class father{ public void fly(){} }
指定された警告タイプは
all、すべての警告を抑制します
boxing、パッケージ化/逆アセンブリ操作に関連する警告を抑制します
cast、警告を抑制します強制変換操作に関連する
dep-ann、削除コメントに関連する警告を抑制します
deprecation、削除に関連する警告を抑制します
fallthrough、switch ステートメントのブレークの省略に関連する警告を抑制します
finally、抑制および返されません Finally ブロックに関連する警告
hiding、変数を非表示にするローカル変数に関連する警告を抑制します
incomplete-switch、switch ステートメントの欠落項目に関連する警告を抑制します (enum の場合)
javadoc、次の変数に関連する警告を抑制しますjavadoc 関連の警告
nls、非 NLS 文字列リテラルに関連する警告を抑制します
null、NULL 値分析に関連する警告を抑制します
rawtypes、生の型の使用に関連する警告を抑制します
resource、警告を抑制しますCloseable
restriction タイプのリソースの使用に関連し、非推奨または禁止されている参照の使用に関連する警告を抑制します。
serial、シリアル化可能なクラスの SerialVersionUID フィールドの省略に関連する警告を抑制します。
static-access、不正な静的アクセスに関連する警告を抑制します
static-method、静的に宣言されている可能性のあるメソッドに関連する警告を抑制します
super、スーパーコールを含まない置換メソッドに関連する警告を抑制します
Synthetic-access、警告を抑制します内部クラスへの最適化されていないアクセスに関連する
sync-override、同期メソッドのオーバーライドによる同期の失敗に関連する警告を抑制します
unchecked、未チェックのジョブに関連する警告を抑制します
unqualified-field-access、未修飾に関連する警告を抑制しますフィールド アクセス
unused、未使用のコードおよび無効なコードに関連する警告を抑制します
保持期間はスコープを指定しますアノテーションの、SOURCE、CLASS、RUNTIMEの3種類
Targetでアノテーションを指定します。 javadoc に反映されます
Ctrl
@Target(ElementType.METHOD) @Retention(RetentionPolicy.SOURCE)//表示@Override在编译器使用后,直接丢弃注释 public @interface Override { }
ターゲットの値
@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE}) // 1.CONSTRUCTOR:用于描述构造器 2.FIELD:用于描述域 3.LOCAL_VARIABLE:用于描述局部变量 4.METHOD:用于描述方法 5.PACKAGE:用于描述包 6.PARAMETER:用于描述参数 7.TYPE:用于描述类、接口(包括注解类型) 或enum声明
@Documented @Retention(RetentionPolicy.RUNTIME) @Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})//表示@Documented在这些地方可以写注解 public @interface Deprecated { }
@Documented//@Deprecated代码会被保存到生产的文档中 @Retention(RetentionPolicy.RUNTIME) @Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE}) public @interface Deprecated { }
以上がJavaアノテーションの使い方 Annotatonの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。