概念
繼承是從已有的類中派生出新的類,新類吸收已有類的數據屬性和行爲,並能擴展新的功能。
類與類之間的繼承關係可以用UML表示,其中父類又叫超類或基類,子類又叫派生類。
一個類只能繼承一個父類,可以被多個類繼承。
JAVA中的多繼承是通過接口(interface)來間接實現的。
子類權限
可以繼承public和protected成員變量或方法,不能繼承private成員變量或方法;
如果在一個包下,可以繼承包訪問權限成員變量或方法,否則不行;
子類的成員變量會隱藏父類中同名的成員變量,訪問父類中同名的成員變量需要使用super關鍵字來進行引用;
子類的成員方法會覆蓋父類中同名的成員方法,訪問父類中同名的成員方法需要使用super關鍵字來進行引用;
爲什麼子類的構造函數一定要訪問父類的構造函數?
答:
因爲子類繼承父類,會繼承到父類中的數據,它就需要看父類是如何對自己的數據初始化的。所以,子類在進行
對象初始化時,需要先調用父類的構造器。子類的所有構造函數中的第一行,都有一條隱式的super()。
Super()表示父類構造函數,並會調用與參數相對應的父類構造函數。