首頁 >Java >java教程 >建造者參考

建造者參考

Linda Hamilton
Linda Hamilton原創
2025-01-14 10:08:43681瀏覽

Referências de construtor

  • 引用建構子使用語法:classname::new.

  • 可以指派給具有建構函式相容方法的功能介面。

參數化建構子的範例

  • 如果函數式介面有一個帶有一個參數的方法,則該參考將與帶有該參數的建構子相關聯。

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

  • 這裡,MyClass(String s) 是引用的建構子。

使用預設建構子的範例

  • 要引用無參數建構函數,您必須使用其方法也沒有參數的函數介面。

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

與泛型類別一起使用

  • 對於泛型類,您可以在建立參考時指定類型。

MyGenClass::new;

  • 由於類型推斷,規範並不總是強制性的。

型態推論

  • 對建構子的參考會自動選擇最適合函數式介面方法的。

// 示範建構子參考。
// MyFunc 是函數式接口,其方法傳回
// MyClass 引用。
MyFunc 介面 {
MyClass func(String s);
}
類別 MyClass {
私有字串 str;
// 此建構函式採用一個參數。
MyClass(字串 s) { str = s; }
// 這是預設的建構子。
MyClass() { str = ""; }
// ...
字串 getStr() { 回傳 str; }
}
類別 ConstructorRefDemo {
public static void main(String args[])
{
// 建立對 MyClass 建構函數的參考。
// 由於 MyFunc 的 func() 方法會採用一個參數,
// new 引用 MyClass
的參數化建構函數 // 而不是預設建構子。
MyFunc myClassCons = MyClass::new;建構子參考
// 使用此建構函式引用建立 MyClass 的實例。
MyClass mc = myClassCons.func("測試");
// 使用新建立的 MyClass 實例。
System.out.println("mc 中的 str 為 " mc.getStr());
}
}

以上是建造者參考的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn