匿名内部类
框架中会涉及,是个重点。
匿名内部类=没有名字的内部类。
任何技术出现都有它可以解决的问题,所以下面首先来分析一下没有匿名内部类的情况。
范例:观察程序代码问题
interface A{
public void print();
}
class X implements A{
public void print(){
System.out.println("*********************");
}
}
public class Hello{
public static void main(String args[]){
A a = new X();//向上转型
a.print();
}
}
有了一个接口,为接口定义了一个子类,在主类中利用对象的向上转型进行对象实例化操作。
但是现在有一个问题出现了,本程序中为接口A定义了一个子类X,但是假设说此时的X子类只使用一次,那么有必要将其定义成单独的类吗?此时可以利用匿名内部类的概念来解决,而且匿名内部类必须以抽象类或接口为前提进行使用。
范例:使用匿名内部类
interface A{
public void print();
}
public class Hello{
public static void main(String args[]){
A a = new A(){//匿名内部类
public void print(){
System.out.println("*********************");
}
};
a.print();
}
}
对于匿名内部类,目前看懂就好。