Java的重载与覆盖,傻傻分不清!
重載和覆蓋是JAVA多態(tài)性的不同表現(xiàn)方式,其中重載是在一個類中多態(tài)性的一種表現(xiàn),是指在一個類中定義了多個同名的方法,他們或有不同參數(shù)個數(shù)或有不同參數(shù)類型。
在使用重載時需注意以下幾點:
1)重載是通過參數(shù)來區(qū)分的,例如不同的參數(shù)個數(shù),不同的參數(shù)類型。
2)不能通過方法的訪問權(quán)限、返回類型和拋出異常類型來進行方法重載。
覆蓋是指派生類函數(shù)覆蓋基類函數(shù)。覆蓋一個方法并對其重寫,以達到不同的作用。在使用覆蓋時要注意以下幾點:
1)派生類中覆蓋函數(shù)的必須要和基類中被覆蓋的方法有相同的方法名和參數(shù)。
2)派生類方法的返回值必須和基類中被覆蓋方法的返回值相同。
3)派生類中的覆蓋方法所拋的異常必須和基類中被覆蓋的方法所拋出的異常一致。
4)基類中被覆蓋的方法不能為private,否則其子類只是定義了了一個方法,并沒有對其覆蓋。
覆蓋和重載的主要區(qū)別是覆蓋是子類與父類之間的關(guān)系,是垂直關(guān)系;重載是一個類中方法之間的關(guān)系,是水平關(guān)系。最后留一道題:
class Super{
public int f(){
return 1;
}
}
public class SubClass extends{
public float f(){
return 2f;
}
public static void main(String[] args){
Super s = new SubClass();
System.out.print(s.f());
}
}
問:以上代碼的運行結(jié)果是什么?
?為了讓學習變得輕松、高效,今天給大家免費分享一套Java教學資源。幫助大家在成為Java架構(gòu)師的道路上披荊斬棘。需要資料的歡迎加入學習交流群:9285,05736
總結(jié)
以上是生活随笔為你收集整理的Java的重载与覆盖,傻傻分不清!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学习Java编程,英语对我们来说有多重要
- 下一篇: python的open函数百度百科,op