Ich habe überall gesucht, um herauszufinden, was das val $ editorkit oder das $ -Zeichen darunter bedeutet, aber kein Glück ... bitte helfen ...
%Vor%Das $ -Zeichen wird vom Java-Compiler für generierte Namen von inneren Klassen, synthetischen Feldern und Methoden verwendet. Es ist gültig für Bezeichner in der Java-Quelle, wird jedoch davon abgeraten.
Der Code, den Sie anzeigen, sieht wie dekompilierter Code einer anonymen inneren Klasse aus. Die anonyme Runnable
-Implementierung in der Methode updateHtmlEditor
greift auf die Parameter ihrer umgebenden Methode zu. Um diesen Zugriff zu ermöglichen, müssen die Parameter final
deklariert werden. In Java-Bytecode hat die anonyme Klasse drei letzte Instanzattribute: this
enthält die äußere Instanz LinkParser.this
val$editorkit
, val$reader
und LinkParser.this.htmlViewEditor
enthält die äußeren Methodenparameter und einen Konstruktor mit drei Argumenten, denen die Argumente zugewiesen werden die Attribute.
Beachten Sie auch, dass LinkParser
eine Referenz auf ein Attribut der äußeren Klasse LinkParser.this
ist. In diesem Beispiel kann der explizite Verweis auf die äußere Instanz %code% weggelassen werden.
Der ursprüngliche Quellcode sieht ungefähr so aus:
%Vor% Es bedeutet nichts besonderes - es ist nur ein Buchstabe, der Teil des Namens ist, genau wie der l
davor oder der e
danach.
Im JLS-Abschnitt zu Identifikatoren finden Sie ausführliche Informationen dazu ist und ist nicht erlaubt in einem Namen.
Tags und Links java