[TOC]
# 繼承的概述
繼承是面向對象的三大特征之一,也是面向對象開發的重點
用來解決代碼重復出現的問題,是類與類關系的一種
從類與類的設計角度來看,子類應該是父類的一種時才可以使用繼承
# 繼承的好處
提高了代碼的復用性
提高了代碼的擴展性
為多態提供了前提
# 繼承的特點
1. 子類擁有父類(除構造方法以外)的所有成員變量和成員方法。
2. 子類可以直接訪問父類非private修飾的成員.
3. 子類可以在父類的基礎上進行擴展,子類可以添加自己特有的成員變量和成員方法
4. 子類可以使用自己的方法實現父類的功能
5. 子類可以訪問父類的構造方法
# 繼承的格式
```
Class 子類類名 extends 父類類名 {
}
```
# 繼承注意事項
JAVA只能單繼承,不支持多繼承
JAVA支持多層繼承
在JAVA中,所有的類都是Objct的子類,Object類時所有類的父類(超類)
# 通過setter&getter方法訪問父類private成員
在實際開發中,成員變量都是使用Private修飾符
子類無法直接訪問父類Private修飾的成員,此時父類應該為private成員變量提供setter & getter方法
子類可以通過etter & getter方法間接訪問父類的Private成員變量
# 代碼
```
public class Teacher extends Person {
// 工資成員變量
public double salary;
public static void main(String[] args) {
Teacher stu = new Teacher;
//可以直接訪問非 private成員
stu.name = "jack";
stu.age = 23;
System.out.println("姓名:" + stu.name);
System.out.println("年齡:" + stu.age);
//調用從父類繼承過來的方法
stu.eat();
stu.sleep();
}
}
```