代码
提交代码
import java.util.function.Function;
import java.util.function.Supplier;
public class MethodReferencesDemo5 {
static class Person {
private String name;
public Person() {
System.out.println("无参数构造方法执行了");
}
public Person(String name) {
System.out.println("单参数构造方法执行了");
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public static void main(String[] args) {
// 使用 Lambda 表达式,调用无参构造方法
Supplier<Person> supplier1 = () -> new Person();
supplier1.get();
// 使用方法引用,引用无参构造方法
Supplier<Person> supplier2 = Person::new;
supplier2.get();
// 使用 Lambda 表达式,调用单参构造方法
Function<String, Person> function1 = name -> new Person(name);
Person person1 = function1.apply("小慕");
System.out.println(person1.getName());
// 使用方法引用,引用单参构造方法
Function<String, Person> function2 = Person::new;
Person person2 = function1.apply("小明");
System.out.println(person2.getName());
}
}
运行结果