lambda表达式、函数式接口、默认方法。
个人理解,lambda表达式其实就是针对只有一个实现方法的匿名类的简化写法。
package com.tianhe;
public class Test {
public static void main(String[] args) {
String name = "wgh";
Person personOld = new Person() {
@Override
public void PrintName(String name) {
System.out.println("我是传统实现");
}
};
Person personNew = (String a) -> System.out.println("我是lambda表达式");
personOld.PrintName(name);
personNew.PrintName(name);
personNew.test();
}
}
@FunctionalInterface
//java8特性,函数式接口,标识这个接口有且仅有一个抽象方法
interface Person {
void PrintName(String name);
//java8特性,接口可以增加默认方法
default void test(){
System.out.println("我是接口中默认实现了的方法");
}
}