Heim  >  Artikel  >  Java  >  So verwenden Sie die Java-Annotation Annotation

So verwenden Sie die Java-Annotation Annotation

WBOY
WBOYnach vorne
2023-04-25 17:58:151254Durchsuche

1. Drei grundlegende Anmerkungen

@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

@Override

class father{
   public void fly(){}
}
class son extends father{
    @Override
    public void fly() {
        super.fly();
    }
}

Interpretation

@Override bedeutet, dass Sohn die Fly-Methode überschreibt

Details

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.

So verwenden Sie die Java-Annotation Annotation

@Override kann nur Methoden ändern, nicht andere Klassen, Pakete, Eigenschaften usw.

//@Override底层代码
@Target(ElementType.METHOD)//ElementType.METHOD说明@Override只能修饰方法
@Retention(RetentionPolicy.SOURCE)
public @interface Override {
}

@Veraltet

public class Deprecatedtext {
    public static void main(String[] args) {
        father father1 = new father();
        father1.fly();
    }
}
@Deprecated
class father{
    @Deprecated
   public void fly(){}
}

Interpretation

@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.

Effekt

So verwenden Sie die Java-Annotation Annotation

Details können Methoden, Klassen, Pakete, Parameter usw. ändern.

//@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

@SuppressWarnings("all")
class father{
   public void fly(){}
}

Interpretation

@SuppressWarnings Anmerkungen können verwendet werden, um Warnmeldungen zu unterdrücken {""}Schreiben Sie die Warnmeldung, die Sie unterdrücken möchten

So verwenden Sie die Java-Annotation Annotation

So verwenden Sie die Java-Annotation AnnotationDetails

1 Position, an der Sie es platzieren Anmerkungen zur Abwertung

Abwertung, Unterdrückung und Warnungen im Zusammenhang mit der Eliminierung

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“-Blocks

hiding, 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. So verwenden Sie die Java-Annotation Annotation

RetentionPolicy.PUNTIME: Der Compiler zeichnet die Annotation in der Klassendatei und der JVM auf Behält die Anmerkungen beim Ausführen von Java bei
    Zielfall
  • @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(){}
    }
  • Dokumentiert
  • Dokumentierter Fall

  • @Veraltete untere Ebene
  • @Target(ElementType.METHOD)
    @Retention(RetentionPolicy.SOURCE)//表示@Override在编译器使用后,直接丢弃注释
    public @interface Override {
    }

    Geerbt

  • Die von ihr geänderte Annotation wird vererbt. Wenn eine Klasse verwendet, wenn die Annotation von @Inher geändert wird ited , seine Unterklassen erhalten automatisch diese Annotation

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen