格式:
new 父类名(参数) |接口(){
//父类|接口的方法实现
//其他
}
可以看到 ,必须实现一个父类或接口,也仅能实现一个父类或接口,用new关键字,没有class关键字
public abstract class AnonymousInnerClass { public abstract void output(); }
public class Test { public static void main(String[] args){ new AnonymousInnerClass(){ //static int i=0;报错,不能有static变量和方法 @Override public void output() { // TODO Auto-generated method stub } }; } }
匿名内部类只能使用一次,创建匿名内部类时会立即创建该类的对象,并且定义会立即消失,所以只能使用一次
注意事项:
1.必须继承一个父类或实现一个接口,且只能是一个,
2.没有构造方法
3.不能有static变量和方法
4.为局部内部类,所有局部内部类的限制都有
5.不能是抽象的