Heim >Java >javaLernprogramm >Referenzen von Bauherren

Referenzen von Bauherren

Linda Hamilton
Linda HamiltonOriginal
2025-01-14 10:08:43681Durchsuche

Referências de construtor

  • 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

  • Wenn die funktionale Schnittstelle eine Methode mit einem Parameter hat, wird die Referenz dem Konstruktor mit diesem Parameter zugeordnet.

MyFunc myClassCons = MyClass::new;
MyClass mc = myClassCons.func("Testing");

  • Hier ist MyClass(String s) der referenzierte Konstruktor.

Beispiel mit Standardkonstruktor

  • Um auf den parameterlosen Konstruktor zu verweisen, müssen Sie eine funktionale Schnittstelle verwenden, deren Methode ebenfalls keine Parameter hat.

MyFunc2 myClassCons = MyClass::new;
MyClass mc = myClassCons.func();

Verwendung mit generischen Klassen

  • Für generische Klassen können Sie den Typ beim Erstellen der Referenz angeben.

MyGenClass::new;

  • Dank der Typinferenz ist die Angabe nicht immer zwingend erforderlich.

Typinferenz

  • Der Verweis auf den Konstruktor wählt automatisch denjenigen aus, der am besten zur funktionalen Schnittstellenmethode passt.

// 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn