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

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

java父子類之間是否存在重載的現象?

java父子類之間是否存在重載的現象?

開心每一天1111 2019-03-13 14:15:56
java的父子類之間是否存在重載呢?public class A{    public void a(int x){}}public class B extends A{    public void a(Object x){}}public class Main{    public static void main(String args[])       {           B b = new B() ;           b.a(2) ;           b.a(new Object()) ;       }}如果不存在那么對于A和B中的a方法怎么解釋呢?我現在也有點亂了, 大家的觀點都不一樣...但是大家的意思是這肯定不是父子類之間的重載, 而且有提到覆蓋. 我之間學習的過程中, 一直把重載就當作覆蓋來看, 但是看樣子我的理解是錯的, 那么什么是覆蓋呢?
查看完整描述

4 回答

?
慕的地6264312

TA貢獻1817條經驗 獲得超6個贊

關于前兩位的回答有以下說明和補充:
1.首先這不叫覆蓋(Override)。類B繼承了類A的方法a,且類B定義了一個新的方法a,兩個方法參數不同,所以是兩個不同的方法。
2.是否是重載(Overload)仍存在爭論。
觀點一:是重載,是發(fā)生在同一類中的重載。
【繼承來的屬性和方法盡管是隱式的,但仍是類B的屬性和方法?!克灶怋有兩個方法,包括繼承自a的方法,屬于重載。
觀點二:不是重載,重載只發(fā)生在同一類中,而類B繼承類A方法的途徑是通過查找調用(如上)。
、、、話說還有覺得是跨類重載的、、、但是這個和定義矛盾哈、、、

綜上,此問題爭議較多,個人比較傾向于觀點一,【】內容來自baidu,下面是運行結果及代碼。

https://img1.sycdn.imooc.com//5cbe7e270001d26106160313.jpg

關于覆蓋和重載的區(qū)別:
1.覆蓋,又稱重寫(Override)。發(fā)生在子類與父類之間。
子類是可以繼承父類的某些方法的,當父類的方法對子類不適用時,需要在子類中寫一個和父類一樣的方法(當然方法內的程序塊是不一樣的),此處“一樣”指方法名必須一樣、返回值類型互相兼容、參數個數順序類型必須一致等等。此時如果子類要用這一方法,就會直接調用覆蓋過的方法,而當沒有檢測到重寫時,才會調用從父類繼承下來的方法。
舉我學習時的例子:
https://img1.sycdn.imooc.com//5cbe7e2c000153ca05120348.jpg

因為不同動物的叫聲和食物都不同,所以要將父類中的方法覆蓋掉。

2.重載(Overload)。一般發(fā)生在同一類的不同方法間。
重載要求兩個方法返回類型一樣,方法名一樣,參數列表不一樣(類型、順序、個數等)。
這樣兩個方法間互為不同的方法,調用哪一個時由參數決定。
舉例:
class A{
void a(int i, float j){}
void a(float i, int j){}//兩個方法接收的參數類型順序不同,所以是兩個不同的方法
}
class B{
void b(int i){}
void b(){}//參數個數不同,第二個方法無參數
}
class C{
void c(int i){}
void c(float i){}//參數類型不同
}


查看完整回答
反對 回復 2019-04-23
?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

重載只發(fā)生在同一類中,你這個即不屬于重載,也不屬于重寫,因為方法名和方法參數確定一個方法。a(int x)a(Object o)屬于兩個方法,所以子類B繼承了父類Aa(int x)方法。


查看完整回答
反對 回復 2019-04-23
?
縹緲止盈

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

就是重載啊,java繼承機制里,子類會開辟空間用來保存繼承的父類成員,因為繼承過來就和父類不是同一個了。例如B類里的a(int x)方法是和父類不一樣的,可以在父類這個方法里打印一下當前類名,當子類調用時顯示的會是子類名。

https://img1.sycdn.imooc.com//5cbe7e470001b9f107770490.jpg

查看完整回答
反對 回復 2019-04-23
  • 4 回答
  • 0 關注
  • 714 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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