多态(Polymorphism)的强制类型转换2

 
class PolyTest3 {
 public static void main(String[] args)
 {
  //Fruit f = new Pear();
  //f.run();
  
  //Pear p = (Pear)f;
  //f.run();
  
  System.out.println("------------");
  
  /*
  Fruit f = new Pear();   //f为Fruit类型.
  f.grow();
  */                     //错误,父类中没有grow()的函数
  
  Fruit f = new Pear();
  Pear p = (Pear)f;   //强制类型转换,Fruit类型转换为Pear类型  。
  p.grow();           //grow方法为子类所特有的 。
 }
}
class Fruit
{
 public void run()
 {
  System.out.println("fruit is runing");
 }
}
class Pear extends Fruit
{
 public void run()
 {
  System.out.println("pear is runing");
 }
 public void grow()
 {
  System.out.println("pear is growing");
 }
}

你可能感兴趣的:(Java)