@Override: Um eine Methode einzuschränken, dient sie dazu, die Methode der übergeordneten Klasse zu überschreiben.
@Veraltet: Wird verwendet, um anzugeben, dass ein bestimmtes Programmelement (Klasse, Methode, usw.) ist veraltet
@SuppressWarnings: Compiler-Warnungen unterdrücken
class father{ public void fly(){} } class son extends father{ @Override public void fly() { super.fly(); } }
@Override bedeutet, dass Sohn die Fly-Methode überschreibt
Wenn es kein @Override gibt, wird die Fly-Methode weiterhin verwendet neu geschrieben
class father{ public void fly(){} } class son extends father{ public void fly() { super.fly(); } }
Mit der Annotation @Override geschrieben, prüft der Compiler, ob die Methode die Methode der übergeordneten Klasse überschreibt, und wenn dies der Fall ist, wird die Kompilierung erfolgreich sein. Wenn es nicht neu geschrieben wird, tritt ein Kompilierungsfehler auf.
@Override kann nur Methoden ändern, nicht andere Klassen, Pakete, Eigenschaften usw.
//@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(){} }
@Veraltet bedeutet, dass ein bestimmtes Programmelement (Klasse, Methode usw.) ist veraltet und Erinnerungen werden durch den Bindestrich in der Mitte des Wortes angezeigt. Zeigt an, dass die Verwendung nicht empfohlen wird.
//@Deprecated底层代码 @Documented @Retention(RetentionPolicy.RUNTIME) @Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})//说明Deprecated能修饰方法,类,包,参数等等 public @interface Deprecated { }
2. Die Rolle von @Deprecated kann eine Rolle beim Kompatibilitätsübergang zwischen alten und neuen Versionen spielen
@SuppressWarnings("all") class father{ public void fly(){} }
@SuppressWarnings Anmerkungen können verwendet werden, um Warnmeldungen zu unterdrücken {""}Schreiben Sie die Warnmeldung, die Sie unterdrücken möchten
Details
Fallthrough, Unterdrückung von Warnungen im Zusammenhang mit dem Weglassen von break in der Switch-Anweisung
finally, Unterdrückung von Warnungen im Zusammenhang mit der Nichtrückgabe des „finally“-Blockshiding, Unterdrückung von Warnungen im Zusammenhang mit lokalen Variablen, die ausgeblendet werden Variablen
incomplete-switch, Warnungen im Zusammenhang mit fehlenden Elementen in Switch-Anweisungen unterdrücken (Enum-Fall)javadoc, Warnungen im Zusammenhang mit Javadoc unterdrücken
nls, Warnungen im Zusammenhang mit Nicht-nls-Zeichenfolgenliteralen unterdrücken
null, Warnungen im Zusammenhang mit der Nullwertanalyse unterdrücken
rawtypes, unterdrücken Warnungen im Zusammenhang mit der Verwendung von Rohtypen
resource, unterdrücken Warnungen im Zusammenhang mit der Verwendung von Ressourcen des Typs Closeable
restriction, unterdrücken Warnungen im Zusammenhang mit der Verwendung veralteter oder verbotener Referenzen
serial, unterdrücken das fehlende Feld serialVersionUID serialisierbarer Klassen Verwandte Warnungen
static-access, unterdrückt Warnungen im Zusammenhang mit falschem statischen Zugriff
static-method, unterdrückt Warnungen im Zusammenhang mit Methoden, die als statisch deklariert werden können
super, unterdrückt Warnungen im Zusammenhang mit Substitutionsmethoden, die keine Super-Aufrufe enthalten
Synthetic-Access, unterdrückt Warnungen im Zusammenhang mit nicht optimiertem Zugriff auf interne Klassen
sync-override, unterdrückt Warnungen über verpasste Synchronisierung aufgrund der Ersetzung von Synchronisierungsmethoden
unchecked, unterdrückt Warnungen im Zusammenhang mit nicht aktivierten Jobs
unqualified-field -access, unterdrückt Warnungen im Zusammenhang mit unqualifiziertem Feldzugriff
unused, Unterdrücken Sie Warnungen im Zusammenhang mit nicht verwendetem Code und deaktiviertem Code
Dokumentiert gibt an, ob die Annotation in Javadoc wiedergegeben wird.
Inherited Die Unterklasse erbt die Annotation der übergeordneten Klasse direkt
RetentionPolicy.CLASS: Der Compiler zeichnet die Annotation in der Klassendatei auf, und die JVM behält die Annotation nicht bei, wenn Java ausgeführt wird.
RetentionPolicy.PUNTIME: Der Compiler zeichnet die Annotation in der Klassendatei und der JVM auf Behält die Anmerkungen beim Ausführen von Java bei@Veraltete untere Ebene
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(){} }
Dokumentierter Fall
@Target(ElementType.METHOD) @Retention(RetentionPolicy.SOURCE)//表示@Override在编译器使用后,直接丢弃注释 public @interface Override { }
Geerbt
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Java-Annotation Annotation. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!