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...