java 父類及子類間轉換

2021-08-29 23:25:14 字數 833 閱讀 7984

1.子類轉父類,無需強轉,只能呼叫父類與子類中同時擁有的變數:

class mybase

public class zhuan1 extends mybase

}

當父類中定義某方法,子類中未定義時,預設執行父類的方法,如果子類中定義同名同引數的方法,即為對父類的覆蓋,最終執行子類的方法:

class mybase

}public class zhuan1 extends mybase

public static void main(string args)

}

輸出結果如下: 

2.父類轉子類,需要強轉,並且轉換能否成功取決於被轉換的物件是否真的是目標型別的一員:

class tbase

public class zhuan extends tbase

}

執行後如下:轉換失敗,因為被轉換的物件本質上是tbase類物件,並不是zhuan類物件

}執行結果如下:轉換成功,被轉換物件原本是zhuan類物件,先被轉為tbase類,後被轉為zhuan類,so,可以被case  ( :

java 子類與父類

1.父類 注 f m1 是父類不被繼承的方法 f m2 父類被子類重寫的方法 public class father public void f m1 public void f m2 2.子類 注 f m3是子類的私有方法 f m2 子類重寫父類方法 public class sunextends...

java中子類繼承父類方法及呼叫規則

有時候我們會遇到這種情況 父類中有方法a和方法b,方法a中呼叫了方法b。某類繼承該類,重寫了方法b,但沒有對方法a進行重寫。那麼在用子類的例項呼叫該方法a時,最終會執行哪乙個方法b呢?我們可以寫一段簡單的程式驗證一下。class a void printword class b extends a ...

關於Java父類子類那點事

1 父類中private的方法,可以被重寫,但是不能被繼承。如果被重寫了,那麼 父類 a new 子類 執行的時候,呼叫的是子類的private方法。測試 如下 package static public class m private void testprivate class t extend...