目录
一、练习需求
引用构造器,其实就是引用构造方法
格式:类名::new
范例:Student::new
1、定义一个类(Student),里面有两个成员变量(name,age)
并提供无参构造方法和带参构造方法,以及成员变量对应的get和set方法
2、定义一个接口(StudentBuilder),里面定义一个抽象方法
Student build(Student name,int age);
3、 定义一个测试类(StudentDemo),在测试类中提供两个方法
一个方法是:useStudentBuilder(StudentBuilder s)
一个犯方法是主方法,在主方法中调用useStudentBuilder方法
二、代码
Student类:
public class Student {
private String name;
private int age;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
StudentBuilder接口:
public interface StudentBuilder {
Student build(String name, int age);
}
StudentDemo测试类:
public class StudentDemo {
public static void main(String[] args) {
//在主方法中调用useStudentBuilder方法
useStudentBuilder((name, age) -> new Student(name, age));
//引用构造器
useStudentBuilder(Student :: new);
//Lambda表达式被构造器替代的时候,它的形式参数全部传递给构造器作为参数
}
private static void useStudentBuilder(StudentBuilder s) {
Student sb = s.build("林青霞", 30);
System.out.println(sb.getName() + "," + sb.getAge());
}
}