对匿名类的初步理解

来源:互联网 发布:linux 新建log文件 编辑:程序博客网 时间:2024/06/09 19:54

匿名类:

java允许直接使用一个类的子类的类体创建一个对象
匿名类无名,可以继承或者重写父类的方法
例中重写了父类的方法

应用:

假设调用方法void output ( A,int x)
A是一个类,想把A的子类创建的对象作为参数,却没有合适的子类
又不想创建新的子类,即可考虑匿名类,即内部类

代码:


//抽象类A,声明抽象方法output//抽象类的子类必须重写抽象类的抽象方法public abstract class A {public abstract void output();}//AA类是抽象类A的子类,必须重写抽象方法public class AA extends A {public void output(){System.out.println("重写了output方法");}}public class B {void showMess(A a)//参数是用抽象类A创建的一个对象{a.output();//调用抽象方法}}//测试main类,public class Test {public static void main(String[] args) {B b = new B();// 参数是一个抽象类的对象b.showMess(new AA());// B类中showMess方法的参数是抽象类对象b.showMess(new A(){public void output() {System.out.println("此方法参数是匿名类,匿名类是内部类");}});}}

运行结果:

重写了output方法
此方法参数是匿名类,匿名类是内部类