一、练习需求
引用构造器,其实就是引用构造方法
格式:类名::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()); } }
三、运行结果