内部类
一个java类中可以包含:
- 属性(就是变量,也叫可以叫字段)
- 方法
- 内部类
- 构造方法
- 代码块
四种内部类:
1. 成员内部类
内部类可以获得外部类的私有属性和方法
2. 静态内部类
内部类加一个static修饰
3. 局部内部类
在方法里写一个类
4. 匿名内部类(与Lambda有关)
UserService userService = new UserService(){
@Override
public void hello(){...}
};
Lambda
目的:简化匿名内部类的代码
函数式接口:接口只包含唯一一个抽象方法。
public interface Runnable{
public abstract void run();
}
对于函数式接口,可以通过lambda表达式来创建该接口的对象。
interface ILike{
void lambda();
}
//匿名内部类,没有实现类的名字
ILike like = new ILike(){
@Override
public void lamda(){
System.out.println("i like lambda1");
}
};
like.lamda();
//lambda
ILike like = ()->{
System.out.println("i like lambda2");
};
like.lambda();