Java-内部类

成员内部类

需要先创建外部类的对象, 再用该对象创建内部类实例。

1
2
3
4
5
class Test{
class Inner{

}
}
1
2
Test test = new Test();
Test.Inner inner = test.new Inner();

静态内部类

1
2
3
4
5
class Test{
static class Inner{

}
}
1
Test.Inner inner = new Test.Inner();

局部内部类

可以定义在方法里面, 在方法里面用。

匿名内部类

Lambda表达式原理。

创建对象的同时实现抽象类或接口中的方法。

1
2
3
4
5
6

Student s = new Student() {
public void study() {
//...
}
}

Lambda表达式

JDK有提供专门写函数式的接口, 如Consumer。