需求说明:
定义一个抽象类 Bird,创建使用匿名内部类的操作类Action。
实现思路:
定义抽象类Bird。在其中定义一个String类型的name属性,一个返回类型是int的抽象方法fly(),以及getName()方法
定义操作类Action,在其中定义一个op()方法,该方法的形参为Bird类型。
在main()方法中,实例化一个Action对象,并调用该对象的op()方法。op()方法的实参是一个继承了Bird抽象类的匿名内部类对象,该内部类重写了Bird类的getName()和fly()。
实现代码:
public abstract class Bird { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public abstract int fly(); } public class Action { public void op(Bird bird){ System.out.println(bird.getName() + "能够飞 " + bird.fly() + "米"); } public static void main(String[] args) { Action action = new Action(); action.op(new Bird() { public int fly() { return 10000; } public String getName() { return "大雁"; } }); } }