Java-Super關鍵字

現(xiàn)在有Person類Consumer類(繼承Person類)和Test類,需求:實例化Consumer虐秦,并給username屬性賦值

package super關鍵字;

public class Person {
    protected String username;//protected 子類可以訪問到
    
    public Person(String username) {
        this.username = username;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public Person() {
        System.out.println("Person()");
    }
    public void walk() {
        System.out.println("person is walking.....");
    }
}
package super關鍵字;

public class Consumer extends Person {//這就表達繼承
    //private String username;
    
    public Consumer() {
        System.out.println("Consumer()");
    }
    public Consumer(String username) {
        this.setUsername(username);
    }

    @Override
    public void walk() {
        super.walk();
        System.out.println("Consumer is walking....");
        System.out.println("Boss is dancing....");
    }
}
package super關鍵字;

public class Test {

    public static void main(String[] args) {

        //實例化Consumer报咳,并給username屬性賦值
        Consumer c = new Consumer("zhangsan");//第二種
//      c.setUsername("zhangsan");//第一種
        System.out.println(c.getUsername());
    }
}

第三種方法:

package super關鍵字;

public class Consumer extends Person {//這就表達繼承
    //private String username;
    
    public Consumer() {
        super();//這里有沒有這個super()效果是一樣的袖裕,因為子類實例化時一定是先實例化其父類璧微,然后才實例化子類摹菠。
        System.out.println("Consumer()");
    }
    
//  public Consumer() {
//      super();
//  }
    public Consumer(String username) {
//      this.setUsername(username);
        //可以調用父類構造器:實現(xiàn)給username屬性賦值的目的
//      super(username);//調用父類構造器 使用super關鍵字不但可以訪問父類構造器還可以訪問父類屬性父類行為
        super.username = username;//super關鍵字 可以訪問父類的非私有屬性
        super.walk();
    }

    @Override
    public void walk() {
        super.walk();
        System.out.println("Consumer is walking....");
        System.out.println("Boss is dancing....");
    }
}

總結:

super關鍵字作用以及注意事項:

  1. super可以調用父類構造方法
  2. 可以調用父類中子類可以訪問的屬性
  3. 可以調用父類中子類可以訪問的方法
  4. super使用時,在同一個構造器中super()和this()不能同時出現(xiàn)
  5. super(),調用父類構造方法眼耀,代碼必須出現(xiàn)在第一行宽气;

拓展:

super和this關鍵字的區(qū)別肠缨?

  • super()

    • 作用:調用父類的構造器
    • 只能出現(xiàn)在子類的構造器中逆趋,且必須是第一行
    • super()中的參數(shù),決定了調用父類哪個構造器
    • 如果子類構造器中沒有出現(xiàn)super晒奕,那么編譯器會默認加上super()闻书,即調用父類的空構造器,如果父類沒有空構造器脑慧,編譯器提示錯誤魄眉。
  • this()

    • 作用:調用本類的構造器
    • 只能寫在構造器的第一行
  • 在同一個構造器中super()和this()不能同時出現(xiàn)

  • super.

    • 指向父類的引用。
    • 通過關鍵字super我們可以指定子類在構造時調用父類的哪個構造器闷袒,達到先實例化父類然后實例化子類的目的坑律。
    • 子類的構造器默認的調用父類無參構造器,即子類構造器中沒有用super指明調用父類哪個構造器的話囊骤,實際上編譯器會自動的在子類構造器第一行加入代碼super( );
  • this.

    • 指向本類的引用晃择。
    • 我們知道子類在實例化時必須調用父類的構造器,實際上有的子類構造器也可以先調用本類的其他構造器也物,然后再通過那個構造器調用父類的構造器
    • 無論是調用父類的構造器還是子類的構造器宫屠,最終都是找到最頂級的父類自上而下的實例化。只要中間環(huán)節(jié)有一個構造器沒找到滑蚯,這個子類就無法完成實例化激况。

子類實例化的過程

  • 使用默認的構造器
  • 在子類中的創(chuàng)建構造器
    • 在子類中創(chuàng)建構造器時,必須調用父類的構造器
    • 子類可以在自己的構造器中使用super關鍵字來調用父類的構造器
    • 如果使用super關鍵字調用父類構造器膘魄,必須寫在該子類構造器的第一行
    • 如調用的是父類中無參的構造器乌逐,則可以不寫super( )
    • 如果子類中調用了父類無參的構造器,而父類中沒有無參構造器則系統(tǒng)編譯出錯

以上就是我關于 Java-Super關鍵字 知識點的整理與總結的全部內容创葡,另附源碼


分割線


博主為咯學編程:父母不同意學編程浙踢,現(xiàn)已斷絕關系;戀人不同意學編程,現(xiàn)已分手;親戚不同意學編程灿渴,現(xiàn)已斷絕來往;老板不同意學編程,現(xiàn)已失業(yè)三十年洛波。。骚露。蹬挤。。棘幸。如果此博文有幫到你歡迎打賞焰扳,金額不限。。吨悍。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末扫茅,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子育瓜,更是在濱河造成了極大的恐慌葫隙,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件躏仇,死亡現(xiàn)場離奇詭異恋脚,居然都是意外死亡,警方通過查閱死者的電腦和手機焰手,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進店門慧起,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人册倒,你說我怎么就攤上這事蚓挤。” “怎么了驻子?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵灿意,是天一觀的道長。 經常有香客問我崇呵,道長缤剧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任域慷,我火速辦了婚禮荒辕,結果婚禮上,老公的妹妹穿的比我還像新娘犹褒。我一直安慰自己抵窒,他們只是感情好,可當我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布叠骑。 她就那樣靜靜地躺著李皇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪宙枷。 梳的紋絲不亂的頭發(fā)上掉房,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天,我揣著相機與錄音慰丛,去河邊找鬼卓囚。 笑死,一個胖子當著我的面吹牛诅病,可吹牛的內容都是我干的哪亿。 我是一名探鬼主播粥烁,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼锣夹!你這毒婦竟也來了页徐?” 一聲冷哼從身側響起苏潜,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤银萍,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后恤左,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贴唇,經...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年飞袋,在試婚紗的時候發(fā)現(xiàn)自己被綠了戳气。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡巧鸭,死狀恐怖瓶您,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情纲仍,我是刑警寧澤呀袱,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站郑叠,受9級特大地震影響夜赵,放射性物質發(fā)生泄漏。R本人自食惡果不足惜乡革,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一寇僧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧沸版,春花似錦嘁傀、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至馒铃,卻和暖如春蟹腾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背区宇。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工娃殖, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人议谷。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓炉爆,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子芬首,可洞房花燭夜當晚...
    茶點故事閱讀 45,107評論 2 356

推薦閱讀更多精彩內容