引用构造器练习

简介: 引用构造器练习

一、练习需求

引用构造器,其实就是引用构造方法


格式:类名::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());
    }
}

三、运行结果

830894c2b69c4782957836d02e1c0933.png

目录
相关文章
|
存储 Cloud Native 编译器
C++ 对象生成:构造函数
C++ 对象生成:构造函数
|
3月前
|
编译器 C++
C++ 类构造函数初始化列表
构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式。
81 30
|
2月前
|
Java 程序员 C#
【类的应用】C#应用之派生类构造方法给基类构造方法传参赋值
【类的应用】C#应用之派生类构造方法给基类构造方法传参赋值
15 0
|
4月前
|
存储 Java 程序员
08 Java面向对象基础(对象与类+实例变量与方法+构造方法+this关键字)
08 Java面向对象基础(对象与类+实例变量与方法+构造方法+this关键字)
86 4
|
6月前
|
Java
JavaSE——JDK8新特性(2/2):方法引用(静态方法的引用、实例方法的引用、特定类型的方法引用、构造器引用)
JavaSE——JDK8新特性(2/2):方法引用(静态方法的引用、实例方法的引用、特定类型的方法引用、构造器引用)
41 0
方法引用符、引用类方法、引用对象的实例方法、引用类的实例方法及引用构造器
方法引用符、引用类方法、引用对象的实例方法、引用类的实例方法及引用构造器
98 0
【构造函数】解析构造函数的作用
构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。
121 0
|
缓存 Dart 安全
Dart中的类——初始化列表、命名构造器、factory构造器、常量构造器、构造器私有化、get和set方法、枚举
Dart中的类——初始化列表、命名构造器、factory构造器、常量构造器、构造器私有化、get和set方法、枚举
|
Java C++
C++类中在构造器中调用本类的另外构造器
C++类中在构造器中调用本类的另外构造器
101 0