编写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 "大雁";
                         }
         });
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章