我知道可以使用upcasting来实现java中的运行时多态性。但我对于向下倾斜的类似可能性感到好奇。如果在向下转换的情况下可以使用多态,那么它是运行时还是编译时?
以下代码是向上转发的示例。它还导致运行时多态性。
class Bike{
void run(){System.out.println("running");}
}
class BMW extends Bike{
void run(){System.out.println("running safely with 60km");}
public static void main(String args[]){
BMW b = new BMW();
Bike c = (Bike)b;//upcasting
b.run();
}
}