Bedeutungen von Dollarzeichen im Java-Methodendeskriptor?

8

Zum Beispiel sein Teil des Jikes RVM Stacks.

%Vor%

'access' sollte ein Methodenname sein. Aber ich habe den Klassenquellcode und seine Schnittstellen überprüft, es gibt dort keine Methode namens 'access'. Ich konnte keine Antwort auf Google finden, da Google alle Arten von Interpunktionen hasst. Kann mir hier jemand helfen? Vielen Dank.

    
qinsoon 28.09.2011, 04:03
quelle

1 Antwort

10

Zitiert aus dem Artikel , der von @ birrree :

  

Ein privates Mitglied m einer Klasse C kann von einer anderen Klasse D verwendet werden, wenn eine Klasse die andere einschließt oder wenn sie von einer gemeinsamen Klasse umschlossen sind. Da die virtuelle Maschine über diese Art der Gruppierung nichts weiß, erstellt der Compiler in C ein lokales Protokoll der Zugriffsmethoden, damit D das Element m lesen, schreiben oder aufrufen kann. Diese Methoden haben Namen der Form access $ 0, access $ 1, etc. Sie sind niemals öffentlich. Zugriffsmethoden sind insofern einzigartig, als sie zu umschließenden Klassen und nicht nur zu inneren Klassen hinzugefügt werden können.

    
Paul Bellora 23.05.2017, 11:46
quelle

Tags und Links