/*
- 定義員工類Employee
*/
class Employee {
String name; // 定義name屬性
// 定義員工的工作方法
public void work() {
System.out.println("盡心盡力地工作");
}
}
1.1 繼承的概念
在現實生活中,繼承一般指的是子女繼承父輩的財產。在程序中,繼承描述的是事物之間的所屬關系,通過繼承可以使多種事物之間形成一種關系體系。例如公司中的研發部員工和維護部員工都屬于員工,程序中便可以描述為研發部員工和維護部員工繼承自員工,同理,JavaEE工程師和Android工程師繼承自研發部員工,而維網絡維護工程師和硬件維護工程師繼承自維護部員工。這些員工之間會形成一個繼承體系,具體如下圖所示。
關鍵字 extends
/*
- 定義研發部員工類Developer 繼承 員工類Employee
*/
class Developer extends Employee {
// 定義一個打印name的方法
public void printName() {
System.out.println("name=" + name);
}
}
/*
- 定義測試類
*/
public class Example01 {
public static void main(String[] args) {
Developer d = new Developer(); // 創建一個研發部員工類對象
d.name = "小明"; // 為該員工類的name屬性進行賦值
d.printName(); // 調用該員工的printName()方法
d.work(); // 調用Developer類繼承來的work()方法
}
}
1.6 方法重寫的注意事項
重寫需要注意的細節問題:
? 子類方法覆蓋父類方法,必須要保證權限大于等于父類權限。
class Fu(){
void show(){}
public void method(){}
}
class Zi() extends Fu{
public void show(){} //編譯運行沒問題
void method(){} //編譯錯誤
}
? 寫法上稍微注意:必須一模一樣:方法的返回值類型 方法名 參數列表都要一樣。
總結:當一個類是另一個類中的一種時,可以通過繼承,來繼承屬性與功能。如果父類具備的功能內容需要子類特殊定義時,進行方法重寫。