第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

構造方法中為什么加super();這個東西??

虛心求教老師;構造方法中為什么加super();這個東西??默認生成的構造方法都會有這個,為什莫是這個super()具體做什莫,感覺寫了也和沒寫一樣

正在回答

4 回答

要講super就不能不提t(yī)his,下面從4個角度講解一下super(需要對比的時候拿this對比一下,加深理解)
1. super關鍵字表示超(父)類的意思。this變量代表對象本身。
2. super訪問父類被子類隱藏的變量或覆蓋的方法。當前類如果是從超類繼承而來的,當調用super.XX()就是調用基類版本的XX()方法。其中超類是最近的父類。
3.調用super() 父類構造函數(shù)的時候只能調用在子類構造函數(shù)的第一行
4.this只能在類中的非靜態(tài)方法中使用,靜態(tài)方法和靜態(tài)的代碼塊中絕對不能出現(xiàn)this。并且this只和特定的對象關聯(lián),而不和類關聯(lián),同一個類的不同對象有不同的this

例如:
? ?class Person { ?
? ? ? ?protected void print() { ?
? ? ? ? ? System.out.println("The print() in class Person."); ?
? ? ? ?} ?
? ?} ? ? ? ?
? ?public class DemoSuper extends Person { ? ? ? ?
? ? ? ?public DemoSuper(){ ? ? ? ?
? ? ? ? ? super(); //調用父類的構造方法,而且放第一行,如果不寫,系統(tǒng)自動加 ?
? ? ? ?} ?
? ? ? ?public void print() { ?
? ? ? ? ? System.out.println("The print() in class DemoSuper."); ?
? ? ? ? ? super.print();// 調用父類的方法 ?
? ? ? ?} ? ? ? ?
? ? ? ?public static void main(String[] args) { ?
? ? ? ? ? DemoSuper ds = new DemoSuper(); ?
? ? ? ? ? ds.print(); ?
? ? ? ?} ?
? ?}

2 回復 有任何疑惑可以回復我~
#1

慕哥5139462 提問者

感謝指教
2018-02-07 回復 有任何疑惑可以回復我~

我現(xiàn)在明白了,super關鍵字就是為了調用父類的方法以及屬性

1 回復 有任何疑惑可以回復我~

那一節(jié)的視頻你可能沒有繼續(xù)往下看。

  1. 在子類構造方法中,super();是默認省略的,(super();的作用是繼承父類構造方法)。記?。耗J省略不是不存在,而是存在,不過被省略了。

  2. 因為super();存在,所以如果父類是有參構造方法,那問題就出現(xiàn)了,因為子類的構造過程中必須調用父類的構造方法,如果有參,那么不能省略。就要自己調用父類有參構造方法。

1 回復 有任何疑惑可以回復我~
#1

記川

就比如 對數(shù)函數(shù),log的底數(shù)為10,如果為10 ,我們可寫可不寫,如果不為10,那么我們就要加上底數(shù)。
2018-02-04 回復 有任何疑惑可以回復我~
#2

慕哥5139462 提問者

感謝指教
2018-02-07 回復 有任何疑惑可以回復我~

為了調用父類的方法

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

構造方法中為什么加super();這個東西??

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號