编写Java程序,演练匿名内部类应用

返回本章节

返回作业目录


需求说明:

定义一个抽象类 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 "大雁";
                         }
         });
    }
}

 

posted @ 2020-06-14 12:21  明金同学  阅读(23)  评论(0编辑  收藏  举报