zoukankan      html  css  js  c++  java
  • java基础8

    unit6 方法引用

    1.Lambda表达式的简化,先有函数式接口Lambda表达式,再有方法的引用

    方法引用符号:

     

    通过对象名引用成员方法:略

    通过类名引用静态成员方法:

      接口:

    @FunctionalInterface
    public interface Calable {
    //整数绝对值运算接口
    int calAbs(int number);
    }

    实现:
    public class StaticMethodReference {
    //定义一个方法,参数传递接口的参数number
    public static int method(int number,Calable c){
    return c.calAbs(number);
    }

    public static void main(String[] args) {
    //调用上述定义的method方法,传递的参数是number=-2,Lambda表达式
    int number = method(-2,(number1 -> {
    return Math.abs(number1);
    }));
    System.out.println(number);

    //方法引用的使用,同上实现
    int number2 = method(-1,Math::abs);
    System.out.println(number2);
    }
    }

    通过super引用父类的成员方法:super父子类继承关系

    通过this引用本类的成员方法:this当前对象

    2.类的构造器:类名称::new 

    //函数式接口,测试类中可以传递Lambda表达式
    @FunctionalInterface
    public interface PersonBuilder {
    Person builderPerson(String name);
    }
    -----------------------------------------
    public class PersonTest {
    public static void printName(String name, PersonBuilder pb){
    //定义一个方法,参数传递name和接口
    Person person = pb.builderPerson(name);
    System.out.println(person.getName());
    }

    public static void main(String[] args) {
    //调用上概述方法,函数式接口,可以传递Lambda表达式的
    printName("sjw",(String name)->{
    return new Person("sjw");
    });

    //使用person的带参构造方法,通过传递的姓名创建对象
    printName("linzi",Person::new);
    }
    }

    数组构造器:类似上述。。

  • 相关阅读:
    Linux dd命令
    冲突域
    三次握手与四次挥手
    sizeof +数组名
    程序内存分配
    OSI七层协议模型
    栈的存储结构
    周转时间
    Gson工具类
    spring注入注解
  • 原文地址:https://www.cnblogs.com/only666/p/13475094.html
Copyright © 2011-2022 走看看