繼承緊密結合於 Java。建立類別時若無明確繼承,將隱性繼承 Object。繼承語法:在類別主體前放置 extends 關鍵字,後接基底類別名稱,即自動獲得其所有資料成員與方法。
//: Detergent.java
class Cleanser {
private String s = "Cleanser";
public void append(String a) { s += a; }
public void dilute() { append(" dilute()"); }
public void apply() { append(" apply()"); }
public void scrub() { append(" scrub()"); }
public void print() { System.out.println(s); }
public static void main(String[] args) {
Cleanser x = new Cleanser();
x.dilute(); x.apply(); x.scrub(); x.print();
}
}
public class Detergent extends Cleanser {
public void scrub() {
append(" Detergent.scrub()");
super.scrub(); // 呼叫基底版本
}
public void foam() { append(" foam()"); } // 擴充介面
public static void main(String[] args) {
Detergent x = new Detergent();
x.dilute(); x.apply(); x.scrub(); x.foam(); x.print();
System.out.println("Testing base class:");
Cleanser.main(args);
}
} ///:~
String 多載 +=,實現串接java Detergent 只呼叫 Detergent.main()private,方法設 public(protected 允許衍生類別存取),利於繼承規劃super.scrub())foam() 展示衍生類別新增方法,擴充基底介面