Ich muss Scala-Klasse instanziieren mit Reflexion.Scala Klassenkonstruktor die Standard-Argument Benennung
Ich möchte Klassenstandardkonstruktor verwenden, der Argumente mit Standardwerten hat, also muss ich diese Standardwerte erhalten.
Standardwerte in Scala sind nur Methoden in JVM, daher muss ich alle Klassenmethoden abrufen und nur die Standardwerte für die Rückgabe aufrufen.
Die Frage: Ich sehe, dass es zwei verschiedene Namenskonventionen für Methoden sind die Standards arg Werte zurückgibt - und „$ lessinit $ größer $ Standard $ X“ (wobei X „$ Standard $ X anwenden“ ist eine Nummer der Position eines bestimmten Arguments). Was ist der Unterschied zwischen diesen beiden? Vielleicht hängt es von der Scala-Version oder etwas anderem ab?
Ich habe es, danke! –
Aber zusätzliche Frage: Warum gibt es zwei verschiedene Standard-Wert-Methoden für beide apply() und? Wenn ich Klasse Foo (bar: Int = 0) deklariere als Companion-Objekt sollte auch diesen bestimmten Wert verwenden und zwei Methoden ist nur ein Muster. –
Ich gehe davon aus, dass dies nur ein Sonderfall ist. Wenn der Compiler die Methoden der Standardwerte aufruft, muss er nur den Methodennamen und die Signatur kennen. –