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

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

老師說,super()只是進行初始化的,那么求問super();在這里究竟起到了一個什么作用?

老師說,super()只是進行初始化的,那么求問super();在這里究竟起到了一個什么作用?

偶然的你 2022-04-14 10:11:55
package testCasting;public class Animal {String eyes;int age;public Animal(){}}class Dog extends Animal {String furcolor;public Dog(String eyes,int age,String furcolor){super();this.eyes=eyes;this.age=age;this.furcolor=furcolor;}public String toString(){return this.eyes+this.age+this.furcolor;}}class Cat extends Animal{String weight;public Cat(String eyes,int age,String weight){super();this.eyes=eyes;this.age=age;this.weight=weight;}public String toString(){return this.eyes+this.age+this.weight;}}網(wǎng)絡視頻說super()出現(xiàn)是因為要構建子類的一個對象,必須要先用super()構造一個父類的對象,而我們老師說,super()只是進行初始化的。那么super();在這里究竟起到了一個什么作用呢?
查看完整描述

3 回答

?
幕布斯6054654

TA貢獻1876條經(jīng)驗 獲得超7個贊

給你舉個例子
class Father {
Father(){print ('father');};
}

class Son {
Son(){print ('son')};
}
如果只是這樣,那么構造Son之前會在后臺調(diào)用一下super()函數(shù),
調(diào)用過程你看不到,但是確實執(zhí)行了,結(jié)果是先father后son
但是這種時候你顯示的寫個super就沒有意義了,那么他在什么時候用呢,再舉個例子

給你舉個例子
class Father {
Father(){print ('father');};
Father(int age){print ('father is'+age);};
}

class Son {
Son(){super(36);print ('son')};
}
這種情況下輸出的就不是father 和 son了,而是father is 36 和 son
就是說在你父類不止一個構造函數(shù)時,顯示的調(diào)用super才有意義
進行初始化是一個方面,像我這個例子里就是輸出了一些信息



查看完整回答
反對 回復 2022-04-19
?
搖曳的薔薇

TA貢獻1793條經(jīng)驗 獲得超6個贊

1)super(參數(shù)):調(diào)用基類中的某一個構造函數(shù)(應該為構造函數(shù)中的第一條語句)
2)this(參數(shù)):調(diào)用本類中另一種形成的構造函數(shù)(應該為構造函數(shù)中的第一條語句)
3)super: 它引用當前對象的直接父類中的成員(用來訪問直接父類中被隱藏的父類中成員數(shù)據(jù)或函數(shù),基類與派生類中有相同成員定義時如:super.變量名 super.成員函數(shù)據(jù)名(實參)
4)this:它代表當前對象名(在程序中易產(chǎn)生二義性之處,應使用this來指明當前對象;如果函數(shù)的形參與類中的成員數(shù)據(jù)同名,這時需用this來指明成員變量名)

5)調(diào)用super()必須寫在子類構造方法的第一行,否則編譯不通過。每個子類構造方法的第一條語句,都是隱含地調(diào)用super(),如果父類沒有這種形式的構造函數(shù),那么在編譯的時候就會報錯。
   6)super()和this()類似,區(qū)別是,super()從子類中調(diào)用父類的構造方法,this()在同一類內(nèi)調(diào)用其它方法。
   7)super()和this()均需放在構造方法內(nèi)第一行。
   8)盡管可以用this調(diào)用一個構造器,但卻不能調(diào)用兩個。
   9)this和super不能同時出現(xiàn)在一個構造函數(shù)里面,因為this必然會調(diào)用其它的構造函數(shù),其它的構造函數(shù)必然也會有super語句的存在,所以在同一個構造函數(shù)里面有相同的語句,就失去了語句的意義,編譯器也不會通過。
   10)this()和super()都指的是對象,所以,均不可以在static環(huán)境中使用。包括:static變量,static方法,static語句塊。
   11)從本質(zhì)上講,this是一個指向本對象的指針, 然而super是一個Java關鍵字。



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

TA貢獻1820條經(jīng)驗 獲得超3個贊

其實在java里,super關鍵字有主要的兩種用法:
1、用在子類的構造方法里,主要是調(diào)用父類的默認構造方法。
2、在子類里調(diào)用隱藏或重寫的屬性或行為。
要理解用法第一,涉及到java的對象的初始化,要明白第二用法,不難但要先有繼承多態(tài)的基礎,就很好理解了!

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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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