/*
多态的小例子:
Bicycle、Unicycle、Trcycle均继承自Cycle。
三个子类都重写了ride()方法。
测试类CycleTest中goRiding()方法的参数类型为超类,
这样既可以接受自己的对象也可以接受子类对象。根据具体传入的参数类型
调用正确的ride()方法。
注意:导入的包是自己编写实现的,如果需要此程序做练习的朋友,可把代码中的所有
println()方法用System.out.println()替换!
*/
import static com.tiantian.Print.*;
class Cycle {
public void ride(){
println("Cycle ride.");
}
}
class Bicycle extends Cycle {
public void ride(){
println("Bicycle ride.");
}
}
class Unicycle extends Cycle {
public void ride(){
println("Unicycle ride.");
}
}
class Trcycle extends Cycle {
public void ride(){
println("Trcycle ride.");
}
}
public class CycleTest{
public static void goRiding(Cycle c){
c.ride();
}
public static void main(String[] args){
goRiding(new Cycle());
goRiding(new Bicycle());
goRiding(new Unicycle());
goRiding(new Trcycle());
//goRiding(new Cycle());
}
}
/*Output:
Cycle ride.
Bicycle ride.
Unicycle ride.
Trcycle ride.
*/