Methoden
Methoden erscheinen einmal pro Signatur: Die spezifischste Überschreibung gewinnt, Bridges und synthetische Methoden fallen weg, und Rückgabetypen werden gegen den Ausgangstyp aufgelöst.
Öffentlich in der Hierarchie oder alles an der Klasse
findMethod findet öffentliche Methoden wie Class.getMethod, geerbte eingeschlossen. findDeclaredMethod findet jede Methode der Klasse selbst, private eingeschlossen. Parameter werden als gelöschte Klassen angegeben.
Ein Eintrag pro Signatur
overrides listet die Methoden der Obertypen mit gleichem Namen und gleichen Parametertypen. methods lässt jede davon weg; wer über methods iteriert, sieht keine Signatur doppelt.
annotations einer Methode enthält die deklarierten Annotationen von allem, was sie überschreibt. Eine Annotation an der Trait-Methode wird an der Implementierung gefunden.
invoke
invoke macht die Methode zugänglich und ruft sie mit den gegebenen Argumenten auf. Ausnahmen der Methode kommen wie bei einfacher Reflection in InvocationTargetException verpackt an.
Welche Methoden eine Scala-Klasse hat
Accessoren, Setter und vom Compiler erzeugte Member sind für die JVM gewöhnliche Methoden und erscheinen in methods.
- val name
- Methode name().
- var name
- Methoden name() und name_$eq(value).
- case class
- copy, productArity, productElement, equals, hashCode, toString und _1, _2 …
- default arguments
- Methoden wie greeting$default$1 für jeden Default.