匿名内部类是在抽象类和接口基础之上建立起来的一种结构,必须以抽象类和接口为主
观察代码
package polymorphic;
interface Pay{
public void fun();
}
class Bay implements Pay{
public void fun() {
System.out.println("HELLO WORLD");
}
}
public class Nimingneibu {
public static void main(String[] args) {
// TODO Auto-generated method stub
Pay a=new Bay();
a.fun();
}
}
本程序为Pay接口定义了一个Bay子类,而后在主方法之中,通过子类向上转型实现了接口对象的实例化操作,
思考一个问题:如果说现在的子类Bay只使用一次,那么还有必要单独定义一个类吗?
范例:利用匿名内部类
interface Pay{
public void fun();
}
public class Nimingneibu {
public static void main(String[] args) {
// TODO Auto-generated method stub
Pay a=new Pay(){
public void fun() {
System.out.println("HELLO WORLD");
}
};
a.fun();
}
}
结果:HELLO WORLD