繼承是指子類別繼承父類別後,就會自動取得父類別特性。為了避免多重繼承的不確定性與複雜性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 可以參考到目前使用該物件的屬性、方法、以及建構子,區分外來類別中相同名稱的物件名稱。


沒有留言:
張貼留言