大綱:
子類可以繼承父類的非私有成員變量和成員方法(不是以private關鍵字修飾的)作為自己的成員變量和成員方法.但是,如果子類中聲明的成員變量與父類的成員變量同名,則子類不能繼承父類的成員變量,此時橙子類的成員變量隱藏了父類的成員變量.如果子類中聲明的成員方法與父類的成員方法同名,並且方法的返回值及參數個數和類型也相同,則子類不能繼承父類的成員方法,此時子類的成員方法重寫了父類的成員方法.這時,如果想在子類中訪問父類中被子類隱藏的成員方法或變量,就可以使用super關鍵字.super主要有一下兩種用途:
1.調用父類的構造方法
子類可以調用由父類聲明的構造方法.但是必須是在子類的構造方法中使用super關鍵字來調用.
語法格式:super([參數列表]);
如果父類的構造方法中包括參數,則參數列表為必選項,用於指定父類構造方法的入口參數.
2.操作被隱藏的成員變量和被重寫的成員方法
如果想在子類中操作父類中被隱藏的成員變量和被重寫的成員方法,也可以使用super關鍵字.
語法格式:
super.成員變量名
super.成員方法名([參數類表])

public Son() {//super表示父類 super("兒子"); System.out.println("子類的構造方法"); } public void sing() { System.out.println("我喜歡唱歌"); } //覆蓋(重寫)只有繼承中才出現 public void work() {//調用父類方法 //super.work(); //System.out.println("我不喜歡上班,我要去唱歌"); System.out.println("我邊上班邊練歌"); }