匿名类是指没有类名的内部类,必须在创建时使用 new 语句来声明类
其语法形式如下:
new<类/抽象类/接口>() { //类的主体 };
这种形式的 new 语句声明一个新的匿名类,它对一个给定的类进行扩展,或者实现一个给定的接口。使用匿名类可使代码更加简洁、紧凑,模块化程度更高。
匿名类有两种实现方式:
- 继承一个类,重写其方法。
- 实现一个接口(可以是多个),实现其方法。
特点
1、 匿名类和局部内部类一样,可以访问外部类的所有成员。如果匿名类位于一个方法中,则匿名类只能访问方法中 final 类型的局部变量和参数。
2、 匿名类中允许使用非静态代码块进行成员初始化操作。
3、匿名类的非静态代码块会在父类的构造方法之后被执行。