super 關鍵字的應用

package zyx;       //創建一個包
 class SuperClass{   //創建父類SuperClass
     private String string;
     public SuperClass(){
         string="父類";    //定義父類的構造方法SuperClass()
     }
     public void setValue(String s){
         string=s;          //定義父類的方法setValue()
     }
     public void showMessage(){
         System.out.println("父類的信息有字符串:" +string);//定義父類的方法showMessage
     }
 }
      class SubClass extends SuperClass{  //創建子類SubClass
          public String string;
          public char ch;
          public SubClass(){      //定義子類的構造方法SubClass()
              super();        //在子類的構造方法中通過super關鍵詞引用父類的構造方法
              ch='C';

          }
            public void showMessage(){ 
                super.showMessage();  //引用父類被覆蓋的方法showMessgae()
                System.out.println("子類增加信息有字符:"+ch); //定義子類的方法showMessage()


            }
      }

public class SuperTest {
    public static void main(String args[]){
        SubClass sc=new SubClass();
        sc.showMessage();
    }

}

這裏寫圖片描述

知識點:
在子類中有時需要使用父類的成員變量和成員方法,此時可以通過super關鍵字來實現。
super關鍵字主要應用於引用父類的構造方法,以及使用父類中被子類重寫的成員方法和隱藏的成員變量。
並且子類不能通過super關鍵字來訪問父類的私有成員,因爲父類的私有成員的作用域只在父類中有效。

從中知道了,由於父類中定義的私有成員無法被子類成員訪問,因此在子類SubClass中試圖通過super.string來訪問父類定義的成員變量string,這樣會產生編譯錯誤。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章