掌握匿名内部类的作用
掌握匿名内部类的定义格式
3.具体内容:
内部类:在一个类的内部还有另外一个类称为内部类,那么匿名内部类,如果一个类在整个操作中只使用一次的话,就可以将其定义成匿名内部类,匿名内部类是在抽象类及接口的基础之上发展起来的。
interface A{
public void printInfo();
}
class B implements A{ //实现接口
public void printInfo(){
System.out.println("Hello World!!!");
}
}
class X{
public void fun1(){
this.fun2(new B());
}
public void fun2(A a){
a.printInfo();
}
}
public class NoInnerClassDemo01{
public static void main(String args[]){
new X().fun1(); //实例化X对象,并调用fun1()方法
}
}
如果此时B类只使用一次的话,那么还有必要为其单独定义一个类吗?此时就可以使用匿名内部类解决问题。
interface A{
public void printInfo();
}
class X{
public void fun1(){
this.fun2(new A(){
public void printInfo(){
System.out.println("Hello World!!!");
}
});
}
public void fun2(A a){
a.printInfo();
}
}
public class NoInnerClassDemo02{
public static void main(String args[]){
new X().fun1(); //实例化X对象,并调用fun1()方法
}
}
总结:
1.在实际的JAVA开发中经常会使用到各种开发框架,在框架上会大量的引用匿名内部类
2.匿名内部类是在抽象类和接口的基础之上发展起来的。