引用构造函数使用语法: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中文网其他相关文章!