


Was ist die Java-Marker-Schnittstelle? Einführung in die Java-Markup-Schnittstelle
Der Inhalt dieses Artikels befasst sich mit der Frage: Was ist die Java Marker-Schnittstelle? Die Einführung der Java-Tag-Schnittstelle hat einen gewissen Referenzwert. Ich hoffe, dass sie für Sie hilfreich ist.
Sehen wir uns zunächst an, was eine Marker-Schnittstelle ist. Die Tag-Schnittstelle wird manchmal als Tag-Schnittstelle bezeichnet, das heißt, die Schnittstelle enthält keine Methoden. Es ist einfach, Beispiele für markierte Schnittstellen in Java zu finden. Beispielsweise ist die serialisierbare Schnittstelle im JDK eine markierte Schnittstelle.
Lassen Sie uns zunächst klarstellen, dass die Marker-Schnittstelle keineswegs nur für die Programmiersprache Java gilt, sondern eine universelle Schnittstelle für Computer Wissenschaft. Designkonzept.
Sehen wir uns die Definition der Marker-Schnittstelle in Wikipedia an.
„Das Tag/Marker-Schnittstellenmuster ist ein Entwurfsmuster in der Informatik, das mit Sprachen verwendet wird, die Laufzeittypinformationen über Objekte bereitstellen. Es bietet eine Möglichkeit, Metadaten einer Klasse zuzuordnen, wo die Sprache dies tut.“ Ich habe keine explizite Unterstützung für solche Metadaten.
Tagged Interface ist eine Designidee in der Informatik. Die Programmiersprache selbst unterstützt die Pflege von Metadaten für Klassen nicht. Die Markierungsschnittstelle gleicht diesen Mangel an Funktionalität aus – eine Klasse implementiert eine Markierungsschnittstelle ohne jegliche Methoden. Tatsächlich wird die Markierungsschnittstelle gewissermaßen zu einem der Metadaten dieser Klasse. Zur Laufzeit können wir diese Metadaten über den Reflexionsmechanismus der Programmiersprache im Code abrufen.
Nehmen Sie als Beispiel die Serializable-Schnittstelle. Eine Klasse implementiert diese Schnittstelle und gibt an, dass sie serialisiert werden kann. Daher verwenden wir tatsächlich die Serializable-Schnittstelle, um die Klasse mit „serialisierbaren“ Metadaten zu markieren und sie als „serialisierbar“ zu kennzeichnen. Daher kommt auch der Name der Tag/Label-Schnittstelle.
Der folgende Code stammt aus dem JDK-Quellcode:
if (obj instanceof String) { writeString((String) obj, unshared); } else if (cl.isArray()) { writeArray(obj, desc, unshared); } else if (obj instanceof Enum) { writeEnum((Enum) obj, desc, unshared); } else if (obj instanceof Serializable) { writeOrdinaryObject(obj, desc, unshared); } else { if (extendedDebugInfo) { throw new NotSerializableException(cl.getName() + " " + debugInfoStack.toString()); } else { throw new NotSerializableException(cl.getName()); } }
Serialisierung in Java, Zeichenfolgen, Arrays, Aufzählungsklassen und gewöhnliche Klassen werden separat durchgeführt. Wenn die aktuell zu serialisierende Variable weder ein String noch ein Array oder eine Aufzählungsklasse ist, wird geprüft, ob die Klasse die Serializable-Schnittstelle implementiert. Bitte beachten Sie, dass Zeile 1177 der folgenden Abbildung diese Erkennung durchführt. Wenn die Serializable-Schnittstelle nicht implementiert ist, wird eine Ausnahme NotSerializableException ausgelöst.
Sie fragen sich vielleicht: Sind die in Spring überall herumfliegenden Anmerkungen nicht die beste Möglichkeit, Metadaten zu pflegen? Tatsächlich kann Annotation vor Java-Paketen, Klassen, Feldern, Methoden, lokalen Variablen, Methodenparametern usw. deklariert werden, um Metadaten zu verwalten, was sowohl flexibel als auch praktisch ist. Eine so gute Sache kann jedoch erst nach JDK1.5 verwendet werden. Vor JDK1.5 oblag die wichtige Aufgabe der Metadatenpflege der Markenschnittstelle.
Werfen wir einen Blick auf eine andere Marker-Schnittstelle, Cloneable. Zeile 51 der folgenden Abbildung zeigt deutlich, dass diese Schnittstelle seit JDK1.0 verfügbar ist.
Die Kommentare der Clone-Methode im JDK-Quellcode sind ebenfalls deutlich gekennzeichnet. Wenn eine Klasse die Cloneable-Schnittstelle nicht implementiert, ist dies der Fall wird ausgeführt, wenn die Klonmethode ausgeführt wird. Löst eine CloneNotSupportedException aus.
Das obige ist der detaillierte Inhalt vonWas ist die Java-Marker-Schnittstelle? Einführung in die Java-Markup-Schnittstelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Anleitung zum TimeStamp to Date in Java. Hier diskutieren wir auch die Einführung und wie man Zeitstempel in Java in ein Datum konvertiert, zusammen mit Beispielen.

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4

Java ist eine beliebte Programmiersprache, die sowohl von Anfängern als auch von erfahrenen Entwicklern erlernt werden kann. Dieses Tutorial beginnt mit grundlegenden Konzepten und geht dann weiter zu fortgeschrittenen Themen. Nach der Installation des Java Development Kit können Sie das Programmieren üben, indem Sie ein einfaches „Hello, World!“-Programm erstellen. Nachdem Sie den Code verstanden haben, verwenden Sie die Eingabeaufforderung, um das Programm zu kompilieren und auszuführen. Auf der Konsole wird „Hello, World!“ ausgegeben. Mit dem Erlernen von Java beginnt Ihre Programmierreise, und wenn Sie Ihre Kenntnisse vertiefen, können Sie komplexere Anwendungen erstellen.
