匿名内部类的两种实现方式:第一种,继承一个类,重写其方法;第二种,实现一个接
口(可以是多个),实现其方法。下面通过代码来说明:
public class TestAnonymousInterClass{
public static void main(String args[]){
TestAnonymousInterClass test=new TestAnonymousInterClass();
test.show();
}
//在这个方法中构造了一个匿名内部类
private void show(){
Out anonyInter=new Out(){// 获取匿名内部类实例
void show(){//重写父类的方法
System.out.println("this is Anonymous InterClass showing.");
}
};
anonyInter.show();// 调用其方法
}
}
// 这是一个已经存在的类,匿名内部类通过重写其方法,将会获得另外的实现
class Out{
void show(){
System.out.println("this is Out showing.");
}
}
程序运行的输出结果为:
this is Anonymous InterClass showing.
匿名内部类有了自己的实现。
接口的方式,只要把父类换成接口就行了,没必要给出代码了。
使用匿名内部类时我们不要忘了我们的目的,我们只是在这地方想对某个类有特殊的
实现。在匿名内部类中编写的自己的方法是不可见的。匿名内部类就是重写父类或接口
的方法。
匿名内部类是没有名字的,所以我们没办法获得其类型,而只能把它当作超类或接口
类型来使用。 |