一、局部内部类
用处不大,可以用final修饰,不可用public和static修饰
java里面每一个类都会生成一个class文件,如果局部内部内在不同方法内重复了名字,那么编译后class文件会加上序号1/2/3
一个外部类中,可以定义多个重名的局部内部内
二、匿名内部内:
适合创建哪些只使用一次的类。无名字。
当程序创建这个内部内的时候,会立即创建这个内部类的实例
-
语法:
接口 a = new 接口{
实现方法;
}; -
实现匿名内部类:1、创建接口的匿名实现类。2、创建了这个匿名内部类的实例。
-
里面不可能有构造器:构造器的名字需要和类名相同,而匿名内部类没有名字。
-
匿名内部类相当于顶一个个额外的类来实现接口。如果只用一次没必要多写一个类。
一样可以用局部内部类实现,但还不如用匿名内部类。 -
匿名内部内必须要显示继承一个类或者实现一个接口。
必须实现全部的抽象方法。