1. 程式人生 > >JAVA中子類與父類相互轉換

JAVA中子類與父類相互轉換

子類轉換成父類:可以。

父類轉換成子類:不可以。

如果父類物件的引用指向的實際是一個子類的物件,那麼父類物件的引用可以強制轉化成子類物件的引用。如:

  Parent   p=new   Son()   
  Son   s=(Son)p;  --正確
 Parent   p=new   Parent()   
 Son   s=(Son)p;  --錯誤
  • 因為繼承的概念就是子孫類會越來越比祖先類詳細,所以可以將子孫類強制轉換成祖先類,因為祖先有的行為子孫類示例都有了(重新定義的或者是預設的);

  • 但是當將祖先類示例強制轉換成子孫類示例的時候,一些子孫類有的行為祖先是沒有的(即使的是預設的實現也沒有)。