繼承是指子類別繼承父類別後,就會自動取得父類別特性。為了避免多重繼承的不確定性與複雜性JAVA語言只允許單一繼承。若class宣告時沒有指定extends,則Java會自動extends java.lang.Object。
回顧車輛類別
在車輛類別中,增加1個無回傳值的行駛方法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()
以車輛類別建立卡車類別
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 可以參考到目前使用該物件的屬性、方法、以及建構子,區分外來類別中相同名稱的物件名稱。
沒有留言:
張貼留言