是否有可能使用向下转换实现运行时/编译时多态性?

时间:2016-09-29 16:40:04

标签: java dynamic polymorphism downcast upcasting

我知道可以使用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();  
 }  
}  

0 个答案:

没有答案