一、匿名内部类
1.概念:隐藏了名字的内部类,可以写在成员位置,也可以写在局部位置(即可以写在main方法里,也可以写在main方法外)。
2.格式:
new 类名/接口名 {
重写方法
}
3.格式细节:包含了继承(类)或实现(接口),方法的重写,创建对象。
整体就是一个类的子类对象或者接口的实现类对象
4.代码举例:
new Swim(){
@Override
public void swim(){
System.out.println("重写了游泳方法");
}
};
5.匿名内部类的调用,可以在匿名内部类末尾直接调用方法,或者也可以在局部位置写一个方法,然后再在main方法中调用。
二、lambda表达式
1.lambda表达式的基本作用:简化函数式接口的匿名内部类的写法。
2.lambda表达式使用前提:接口中有且仅有一个抽象方法。
3.省略写法:参数类型可以省略不写;
如果只有一个参数,参数类型可以省略,同时()也可以省略;
lambda表达式方法体只有一行时,大括号,分号和return可以省略不写,需要同时省略。