Heim >Java >javaLernprogramm >Referenzen von Bauherren
Das Referenzieren eines Konstruktors verwendet die Syntax: Klassenname::new.
Kann einer funktionalen Schnittstelle zugewiesen werden, die über eine konstruktorkompatible Methode verfügt.
Beispiel mit parametrisiertem Konstruktor
MyFunc myClassCons = MyClass::new;
MyClass mc = myClassCons.func("Testing");
Beispiel mit Standardkonstruktor
MyFunc2 myClassCons = MyClass::new;
MyClass mc = myClassCons.func();
Verwendung mit generischen Klassen
MyGenClass
Typinferenz
// Demonstriert eine Konstruktorreferenz.
// MyFunc ist eine funktionale Schnittstelle, deren Methode
zurückgibt
// eine MyClass-Referenz.
MyFunc-Schnittstelle {
MyClass func(String s);
}
Klasse MyClass {
private String str;
// Dieser Konstruktor benötigt ein Argument.
MyClass(String s) { str = s; }
// Dies ist der Standardkonstruktor.
MyClass() { str = ""; }
// ...
String getStr() { return str; }
}
Klasse ConstructorRefDemo {
public static void main(String args[])
{
// Erstellt eine Referenz auf den Konstruktor von MyClass.
// Da die func()-Methode von MyFunc ein Argument benötigt,
// new verweist auf den parametrisierten Konstruktor von MyClass
// und nicht der Standardkonstruktor.
MyFunc myClassCons = MyClass::new; Eine Konstruktorreferenz
// Erstellt eine Instanz von MyClass unter Verwendung dieser Konstruktorreferenz.
MyClass mc = myClassCons.func("Testing");
// Die neu erstellte MyClass-Instanz verwenden.
System.out.println("str in mc ist " mc.getStr());
}
}
Das obige ist der detaillierte Inhalt vonReferenzen von Bauherren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!