兄弟连php网站开发,哪里建设网站,ftp上传wordpress程序要多长时间,伊利网站建设水平评价一、方法引用
方法引用作为了函数式接口的实例
二、格式
函数式接口中的抽象方法a与其内部实现时调用的对象的某个方法b的形参列表和返回值类型都相同。可以考虑使用方法b实现对方法a的替换、覆盖。
注意#xff1a;此方法b是非静态的方法#xff0c;需要对象调用
/*** …一、方法引用
方法引用作为了函数式接口的实例
二、格式
函数式接口中的抽象方法a与其内部实现时调用的对象的某个方法b的形参列表和返回值类型都相同。可以考虑使用方法b实现对方法a的替换、覆盖。
注意此方法b是非静态的方法需要对象调用
/*** 对象 :: 实例方法*/Testpublic void test1(){ConsumerString consumer new ConsumerString() {Overridepublic void accept(String s) {System.out.println(s);}};consumer.accept(虹猫蓝兔仗剑走天涯);System.out.println(********lambda表达式*******);ConsumerString consumer1 (o) - System.out.println(o);consumer1.accept(lambda虹猫蓝兔仗剑走天涯);System.out.println(*********方法引用********);ConsumerString consumer2 System.out :: println;consumer2.accept(方法引用之虹猫蓝兔仗剑走天涯);}
函数式接口中的抽象方法a与其内部实现时调用的对象的某个静态方法b的形参列表和返回值类型都相同。可以考虑使用方法b实现对方法a的替换、覆盖。 注意此方法b是静态的方法需要类调用
/*** 类 :: 静态方法*/Testpublic void test2(){ComparatorInteger comparator new ComparatorInteger() {Overridepublic int compare(Integer o1, Integer o2) {return Integer.compare(o1,o2);}};System.out.println(comparator.compare(12, 13));System.out.println(********lambda表达式*******);ComparatorInteger comparator1 (o1, o2) - Integer.compare(o1,o2);System.out.println(comparator1.compare(34, 45));System.out.println(*********方法引用********);ComparatorInteger comparator2 Integer :: compare;System.out.println(comparator2.compare(56, 78));}
函数式接口中的抽象方法a与其内部实现时调用的对象的某个方法b的返回值类型相同。同时抽象方法a中有n个参数方法b中有n-1个参数且抽象方法a的第一个参数作为方法b的调用者且抽象方法的后n-1参数方法b的n-1个参数的类型相同。
注意此方法b是非静态的方法需要对象调用 /*** 类 :: 实例方法*/Testpublic void test3(){ComparatorString comparator new ComparatorString() {Overridepublic int compare(String o1, String o2) {return o1.compareTo(o2);}};System.out.println(comparator.compare(汤姆, 杰瑞));System.out.println(********lambda表达式*******);ComparatorString comparator2 (o1, o2) - o1.compareTo(o2);System.out.println(comparator2.compare(汤姆, 汤姆));System.out.println(*********方法引用********);ComparatorString comparator3 String :: compareTo;System.out.println(comparator3.compare(汤姆, 山姆));}
二、构造器引用
Testpublic void test1(){SupplierCat supplier new SupplierCat() {Overridepublic Cat get() {return new Cat();}};System.out.println(supplier.get());//使用方法引用SupplierCat supplier1 Cat :: new;System.out.println(supplier1.get());}