Java编程思想第四版第8章练习

时间:2023-02-22 22:07:18

练习17:使用练习1中的Cycle的层次结构,在Unicycle和Bicycle中添加balance()方法,而Tricycle中不添加。创建所有这三种类型的实例,并将它们向上转型为Cycle数组。在该数组的每一个元素上都尝试调用balance(),并观察结果。然后将它们向下转型,再次调用balance(),并观察将所产生什么。

public   class  MainTest {  
       
    public static void main(String args[]){
    	Cycle[] cycle={new Unicycle(),new Bicycle(),new Tricycle()};
    	Unicycle u=(Unicycle)cycle[0];
    	u.balance();
    }
    /**
     * 输出:Unicycle---balance()
     * 
     */
    
    public static void p(String str){};
}  

class Cycle{
	
}
class Unicycle extends Cycle{
	public void balance(){
		System.out.println(this.getClass().getName()+"---balance()");
	}
}
class Bicycle extends Cycle{
	public void balance(){
		System.out.println(this.getClass().getName()+"---balance()");
	}
}
class Tricycle extends Cycle{
}