Heim > Java > javaLernprogramm > Detaillierte Erläuterung der Java-Wissenspunkte: Anmerkungen und Meta-Anmerkungen

Detaillierte Erläuterung der Java-Wissenspunkte: Anmerkungen und Meta-Anmerkungen

WBOY
Freigeben: 2022-05-13 11:57:18
nach vorne
1657 Leute haben es durchsucht

Dieser Artikel vermittelt Ihnen relevantes Wissen über Java. Er stellt hauptsächlich Themen im Zusammenhang mit Annotationen und Meta-Annotationen vor, einschließlich einer grundlegenden Einführung in Annotationen usw. Schauen wir uns das gemeinsam an alle.

Detaillierte Erläuterung der Java-Wissenspunkte: Anmerkungen und Meta-Anmerkungen

Empfohlene Studie: „Java-Video-Tutorial

1. Grundlegende Einführung in Annotationen

Annotation (Annotation) wird auch Metadaten (Metadata) genannt und wurde in JDK1.5 und späteren Versionen eingeführt . Wird zum Ändern und Interpretieren von Dateninformationen wie Paketen, Klassen, Methoden, Eigenschaften, Konstruktoren, lokalen Variablen usw. verwendet. Es kann verwendet werden, um Dokumentation zu erstellen, Abhängigkeiten in Ihrem Code zu verfolgen und sogar grundlegende Überprüfungen zur Kompilierungszeit durchzuführen.

Anmerkungen sind im Code mit „@annotation name“ vorhanden. Entsprechend der Anzahl der Anmerkungsparameter können wir Anmerkungen in drei Kategorien einteilen: Markierungsanmerkungen, Einzelwertanmerkungen und vollständige Anmerkungen. Anmerkungen wirken sich wie Kommentare nicht auf die Programmlogik aus, können jedoch kompiliert oder ausgeführt werden und entsprechen im Code eingebetteten Zusatzinformationen.

Darüber hinaus können Sie wählen, ob die Annotationen im Code beim Kompilieren nur auf Quellcodeebene vorhanden sind, oder ob sie auch in Klassendateien oder zur Laufzeit (SOURCE/CLASS/RUNTIME) erscheinen können.

In JavaSE ist der Zweck der Verwendung von Anmerkungen relativ einfach, z. B. das Markieren veralteter Funktionen, das Ignorieren von Warnungen usw. Anmerkungen spielen in Java EE eine wichtigere Rolle, z. B. werden sie zum Konfigurieren aller Aspekte der Anwendung verwendet und ersetzen den umständlichen Code und die XML-Konfiguration, die in der alten Version von Java EE verblieben sind.


2. Grundlegende Einführung in Annotation

1. Drei grundlegende Annotationen

@Override : Eine Methode einzuschränken bedeutet, die Methode der übergeordneten Klasse zu überschreiben , Diese Annotation kann nur für Methoden verwendet werden

@Veraltet : Wird zur Darstellung eines bestimmten Programmelements verwendet ( Kategorie , Methoden usw. ) Veraltet

@SuppressWarnings : Compiler-Warnungen unterdrücken


2, Codebeispiel

@Override

class Son extends Father{

    @Override
    public void play(){}

}
Nach dem Login kopieren

Hinweis:

@Override repräsentiert die Methode zum Spielen von Unterklassen überschreibt die übergeordnete Klasse Play

没有 没有 Wenn du es nicht hier schreibst @Override Es wird weiterhin die übergeordnete Klasse ply überschreiben

Wenn Sie die Annotation @Override schreiben, prüft der Compiler, ob die Methode die übergeordnete Klasse wirklich überschreibt Methode: Wenn sie tatsächlich neu geschrieben wird, wird die Kompilierung erfolgreich sein. Wenn sie nicht neu geschrieben wird, tritt ein Kompilierungsfehler auf.

@Override kann nur Methoden ändern, keine anderen Klassen, Pakete, Eigenschaften usw.

@Veraltet

@Deprecated
class A{
    @Deprecated
    public static int name = 1;

    @Deprecated
    public void play(){ }
}
Nach dem Login kopieren

Hinweis:

kann Methoden, Klassen, Felder, Pakete, Parameter usw. ändern.

Seine Aufgabe besteht darin, Kompatibilität zu erreichen und Übergang zwischen alten und neuen Versionen

@


SuppressWarnings

@SuppressWarnings ("all")
public class word{ }
Nach dem Login kopieren

注意:

         关于 SuppressWarnings 作用范围是和你放置的位置相关。比如@SuppressWarnings 放置在 main 方法,那么抑制警告的范围就是 main

         通过 @SuppressWarnings 的源码可知,其注解目标为类、字段、函数、函数入参、构造函数和函数的局部变量。


三、@SuppressWarnings的指定警告类型

关键字 解释
all 抑制所有警告
boxing 抑制与封装/拆装作业相关的警告
cast 抑制与强制转型作业相关的警告
dep-ann 抑制与淘汰注释相关的警告
deprecation 抑制与淘汰的相关警告
fallthrough 抑制与 switch 陈述式中遗漏 break 相关的警告
finally 抑制与未传回 finally 区块相关的警告
hiding 抑制与隐藏变数的区域变数相关的警告
incomplete-switch 抑制与 switch 陈述式(enum case)中遗漏项目相关的警告
javadoc 抑制与 javadoc 相关的警告
nls 抑制与非 nls 字串文字相关的警告
null 抑制与空值分析相关的警告
rawtypes 抑制与使用 raw 类型相关的警告
resource 抑制与使用 Closeable 类型的资源相关的警告
restriction 抑制与使用不建议或禁止参照相关的警告
serial 抑制与可序列化的类别遗漏 serialVersionUID 栏位相关的警告
static-access 抑制与静态存取不正确相关的警告
static-method 🎘 synthetischer Zugriff
Warnungen im Zusammenhang mit nicht optimiertem Zugriff auf innere Klassen unterdrücken sync-override
Unterdrücken Sie die Warnungen zur Ersatzsynchronisierungsmethode über fehlende Synchronisierung ungeprüft
Warnungen im Zusammenhang mit ungeprüften Jobs unterdrücken unqualifizierter Feldzugriff
Unterdrücken mit Warnungen im Zusammenhang mit einem nicht qualifizierten Feld Zugriff unbenutzt
Warnungen im Zusammenhang mit nicht verwendetem Code und deaktiviertem Code unterdrücken

4. Meta-Anmerkung

1. Grundlegende Einführung

▶ Was ist eine Meta-Anmerkung? früher, wie zum Beispiel:

@Override, @Deprecated

, @SuppressWarnings ▶ Vier Meta-Anmerkungen:

Retention:

Es gibt drei Arten von Annotationen im Umfang: QUELLE, KLASSE, LAUFZEIT                                                                                                                                                                                                                                               Vererbt: Die Unterklasse erbt die Anmerkungen der übergeordneten Klasse

▶ Hinweise zur Anmerkung:

                                                                             

und C 在 Hinweis wird in der Klassen-Bytecode-Datei vorhanden sein, die durch Reflektion zur Laufzeit erhalten werden kann

muss zuerst klarstellen, dass die Lebenszykluslänge Quelle & ist. lt; Klasse & lt;               etwas Hilfscode (z. B. ButterKnife), verwenden Sie einfach die Annotation CLASS.

2. Aufbewahrungsanmerkung

Erklärung:



kann nur zum Ändern einer Annotationsdefinition verwendet werden,

Die

Annotation

kann mehr für einen behalten Lange Zeit enthält @Rentention eine Mitgliedsvariable vom Typ

RetentionPolicy. Wenn Sie

@Rentention
verwenden, müssen Sie einen Wert für diese Mitgliedsvariable

value

angeben (es gibt drei Werte).

Drei Werte: RetentionPolicy.SOURCE: Nachdem der Compiler verwendet wurde, verwerfen Sie einfach Kommentare für diese Strategie.

​​​​ RetentionPolicy.CLASS: Der Compiler zeichnet die Anmerkung in der Klasse auf In Datei . Beim Laufen Java Prozedurzeit , JVM Anmerkungen werden nicht beibehalten. Dies ist der Standardwert.

RetentionPolicy.RUNTIME: Der Compiler zeichnet die Anmerkung in der Klasse auf In der Datei . Beim Laufen Java Vorgehensweise, JVM Anmerkungen bleiben erhalten . Das Programm kann diese Anmerkung durch Reflexion erhalten.


3. Zielanmerkung

Erklärung:

wird zum Ändern der Annotationsdefinition verwendet und gibt an, welche Programmelemente mit der geänderten Annotation geändert werden können. @Target enthält auch eine Mitgliedsvariable mit dem Namen value. 4. Dokumentierte Annotation Das heißt, im generierten Dokument können Sie die Anmerkung sehen.


Hinweis:

Annotationen, die als @Documented definiert sind, müssen den Retention-Wert auf RUNTIME setzen.

5. Geerbte AnnotationErläuterung:

Von @Inherited geänderte Annotationen werden verwendet, dann haben ihre Unterklassen automatisch diese Annotation


Empfohlenes Lernen: „java Video-Tutorial"

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Java-Wissenspunkte: Anmerkungen und Meta-Anmerkungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage