繼承是指子類別繼承父類別後,就會自動取得父類別特性。為了避免多重繼承的不確定性與複雜性JAVA語言只允許單一繼承。若class宣告時沒有指定extends,則Java會自動extends java.lang.Object。
回顧車輛類別
在車輛類別中,增加1個無回傳值的行駛方法1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | public class Car { int speed; //速度 int weight; //重量 int size; //尺寸 public Car( int speed, int weight, int size){ this .speed=speed; this .weight=weight; this .size=size; } /** * 行駛方法 * @param distance 距離 */ public void run( int distance){ System.out.println(distance/speed); } } |
方法如果沒有回傳值時,方法名稱前面加上 void
方法若有回傳值時,方法名稱前則是加上回傳值的資料型態
方法若有回傳值時,方法名稱前則是加上回傳值的資料型態
使用關鍵字extends來表達繼承觀念
繼承後類別物件的資源可以延伸和重複使用,在程式中可以利用 extends 來實作繼承關係。- 當父類存放在不同資料夾(package)時,在程式開頭必須import 父類別
- 當父類別帶有參數的建構子,必須在子類別建構子最前面加入 super()
以車輛類別建立卡車類別
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import Car; public class Truck extends Car{ int load; //載重 int whell; //車輪數 public Truck( int speed, int weight, int size, int load, int whell) { super (speed, weight, size); this .load=load; this .whell=whell; } } |
super()是什麼?
讓子類別用來建構父類別的各項屬性
子類別中透過super來呼叫父類別那些相同名稱的的屬性
讓子類別用來建構父類別的各項屬性
子類別中透過super來呼叫父類別那些相同名稱的的屬性
this() 是什麼?
this 可以參考到目前使用該物件的屬性、方法、以及建構子,區分外來類別中相同名稱的物件名稱。
this 可以參考到目前使用該物件的屬性、方法、以及建構子,區分外來類別中相同名稱的物件名稱。
沒有留言:
張貼留言