引用建構子使用語法:classname::new.
可以指派給具有建構函式相容方法的功能介面。
參數化建構子的範例
MyFunc myClassCons = MyClass::new;
MyClass mc = myClassCons.func("測試");
使用預設建構子的範例
MyFunc2 myClassCons = MyClass::new;
MyClass mc = myClassCons.func();
與泛型類別一起使用
MyGenClass
型態推論
// 示範建構子參考。
// 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中文網其他相關文章!