test8.17

来源:互联网 发布:哪里买古典音乐cd知乎 编辑:程序博客网 时间:2024/05/17 03:56

因为Tricycle没有balance()函数,向下转型后Tricycle对象调用balance()会报错

class Cycle

{Cycle(){System.out.println("Cycle constructor");}}
class Unicycle extends Cycle{
Unicycle(){System.out.println("Unicycle constructor");}
public void balance(){System.out.println("Unicycle.balance()");}
}
class Bicycle extends Cycle{
Bicycle(){System.out.println("Bicycle constructor");}
public void balance(){System.out.println("Bicycle.balance()");}
}
class Tricycle extends Cycle{
Tricycle(){System.out.println("Tricycle constructor");}
}
public class Test17 {
public static void main(String[] args) {
Cycle[] cycle={new Unicycle(),new Bicycle(),new Tricycle()};
for(Cycle c:cycle)
c.balance();
((Unicycle)cycle[0]).balance();
((Bicycle)cycle[0]).balance();
((Tricycle)cycle[0]).balance();
}
}

0 0