总结:
匿名内部类也就是没有名字的内部类。
正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写。
但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口。
代码示例:
public class NI_Ming_InnerClass {
public Description buildDescription(String s,String s2){
return new Description(s){
void Print(){
super.Print();
System.out.println("New Description: "+this.desc+s2);
}
};
}
public static void main(String[] args) {
// TODO Auto-generated method stub
NI_Ming_InnerClass ai=new NI_Ming_InnerClass();
Description d=ai.buildDescription("Hello ", "World");
d.Print();
}
}
class Description{
String desc;
Description(String s){
desc=s;
}
void Print(){
System.out.println("Description");
}
}
输出结果:
Description
New Description: Hello World
buildDescription()方法中定义了一个匿名内部类,该匿名内部类以Description作为父类,继承Description的同时还重写了Print方法。