亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

你好,請教下在super()里的參數是什么呢?

你好,請教下在super()里的參數是什么呢?

呼如林 2022-04-14 10:11:11
子類調用基類的構造函數要用super();給基類初始化,這里的參數要怎么填呢?因為我覺得我現在操作的是派生類,基類初始化是否只是走走形式而已呀?我隨便初始化一個值不可以嗎?麻煩大家給菜鳥講解下~謝謝哈其實我就是想問,如果父類是帶參數的構造函數,那我子類的super參數是隨便寫嗎?如:class A{public A(String name){N = new String(name);}……}class B extends A{public B(String aType){super(?)//這里填什么呢?隨便填什么都可以嗎?type = aType;}
查看完整描述

3 回答

?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

再能隨便寫呢,super很簡單,就是代表父類的意思,只有父類中有的,你才能用super,沒有的你自然不能用。
而在這個程序中,你在子類的構造其中用super,那么,肯定是要繼承父類的構造器public A(String name)
{
N = new String(name);
}
,也就是,你必須得給這個super()方法傳入和父類構造方法一樣的參數(name),所謂的一樣,就是類型一樣,而非名字一樣。
最后要說明的是,你的程序漏洞百出,N是什么東西??type又是什么類型??哪來的type??super(?)后的分號呢?

查看完整回答
反對 回復 2022-04-19
?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

不是走形式的。
你父類里面如果有了顯示的帶參數的構造函數。。那么子類默認情況調用父類的構造函數就不能使用了。這個時候就必須顯示的調用父類的帶參數的構造函數。
super()的參數得看你父類的構造函數。。
如果沒有顯示的寫帶參數的構造函數。。 那么你子類可以直接不用寫。。jvm會在子類的構造函數第一行加一個隱式的super()
如果你父類沒有不帶參的構造函數。。那么你子類就必須在構造函數的第一行加入一個super(xxx,xxx,xxx,.....)

查看完整回答
反對 回復 2022-04-19
?
catspeake

TA貢獻1111條經驗 獲得超0個贊

如果子類調用父類的構造函數有參數如果(int a,int b)那子類調用是就super(x,y)如此類推,調用的是沒參數的那就直接用super() ,還有默認的調用是super()

查看完整回答
反對 回復 2022-04-19
  • 3 回答
  • 0 關注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號