欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java overload和override的區(qū)別分析

 更新時(shí)間:2012年11月28日 14:04:03   作者:  
方法的重寫(Overriding)和重載(Overloading)是Java多態(tài)性的不同表現(xiàn),想要了解更多請參考本文
方法的重寫(Overriding)和重載(Overloading)是Java多態(tài)性的不同表現(xiàn)。重寫(Overriding)是父類與子類之間多態(tài)性的一種表現(xiàn),而重載(Overloading)是一個類中多態(tài)性的一種表現(xiàn)。
如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫 (Overriding)。子類的對象使用這個方法時(shí),將調(diào)用子類中的定義,對它而言,父類中的定義如同被"屏蔽"了。
如果在一個類中定義了多個同名的方法,它們或有不同的參數(shù)個數(shù)或有不同的參數(shù)類型或有不同的參數(shù)次序,則稱為方法的重載(Overloading)。不能通過訪問權(quán)限、返回類型、拋出的異常進(jìn)行重載.

1.方法重載(overload)
概念:簡單的說:方法重載就是類的同一種功能的多種實(shí)現(xiàn)方式,到底采用哪種方式,取決于調(diào)用者給出的參數(shù)。 
注意事項(xiàng):
(1)方法名相同
(2)方法的參數(shù)類型、個數(shù)、順序不至少有一項(xiàng)不同
(3)方法返回類型可以不同
(4)方法的修飾符可以不同
如果只是返回類型不一樣,不能夠構(gòu)成重載
如果只是控制訪問修飾符號不一樣,也是不能構(gòu)成重載的
Overloaded的方法是可以改變返回值的類型。
2.方法覆蓋(override)
概念:簡單的說:方法覆蓋就是子類有一個方法,和父類的某個方法的名稱、返回類型、參數(shù)一樣,那么我們就說子類的這個方法覆蓋了父類的那個方法。
注意事項(xiàng):方法覆蓋有很多條件,總的講有兩點(diǎn)一定要注意:
(1)子類的方法的返回類型,參數(shù),方法名稱,要和父類方法的返回類型,參數(shù),方法名稱完全一樣,否則編譯出錯。
(2) 子類方法不能縮小父類方法的訪問權(quán)限(反過來是可以的)
例:
Overrride實(shí)例
復(fù)制代碼 代碼如下:

class A{
public int getVal(){
return(5);
}
}
class B extends A{
public int getVal(){
return(10);
}
}
public class override {
public static void main(String[] args) {
B b = new B();
A a= (A)b;//把 b 強(qiáng) 制轉(zhuǎn)換成A的類型
int x=a.getVal();
System.out.println(x);
}
}
Overload實(shí)例
package com.guonan;
//Demostrate method voerloading.
class OverloadDemo {
void test(){
System.out.println("NO parameters");
}
void test(int a){
System.out.println("a:"+a);
}//end of Overload test for one integer parameter.
void test(int a, int b){
System.out.println("a and b:"+a+" "+b);
}
double test(double a){
System.out.println("double a:"+a);
return a*a;
}
}
class Overload{
public static void main(String[] args) {
OverloadDemo ob = new OverloadDemo();
double result;
ob.test();
ob.test(10);
ob.test(10, 20);
result = ob.test(123.25);
System.out.println("Result of ob.test(123.25):"+result);
}
}

相關(guān)文章

  • nacos注冊中心單節(jié)點(diǎn)ap架構(gòu)源碼解析(最新推薦)

    nacos注冊中心單節(jié)點(diǎn)ap架構(gòu)源碼解析(最新推薦)

    這篇文章主要介紹了nacos注冊中心單節(jié)點(diǎn)ap架構(gòu)源碼解析,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • Spring使用AOP完成統(tǒng)一結(jié)果封裝實(shí)例demo

    Spring使用AOP完成統(tǒng)一結(jié)果封裝實(shí)例demo

    這篇文章主要介紹了Spring使用AOP完成統(tǒng)一結(jié)果封裝,本文通過實(shí)現(xiàn)demo給大家詳細(xì)講解,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • Java中閉包簡單代碼示例

    Java中閉包簡單代碼示例

    這篇文章主要介紹了Java中閉包簡單代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Springboot使用put、delete請求報(bào)錯405的處理

    Springboot使用put、delete請求報(bào)錯405的處理

    這篇文章主要介紹了Springboot使用put、delete請求報(bào)錯405的處理方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • java調(diào)用dll方法總結(jié)

    java調(diào)用dll方法總結(jié)

    本篇文章小編給大家整理了java調(diào)用dll的方法的總結(jié),有需要的朋友參考學(xué)下一下吧。
    2017-12-12
  • Java8的Lambda表達(dá)式你真的會嗎

    Java8的Lambda表達(dá)式你真的會嗎

    這篇文章主要介紹了Java8的Lambda表達(dá)式你真的會嗎,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • 基于@RequestMapping 用法詳解之地址映射

    基于@RequestMapping 用法詳解之地址映射

    這篇文章主要介紹了@RequestMapping 用法詳解之地址映射,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • springmvc 傳遞和接收數(shù)組參數(shù)的實(shí)例

    springmvc 傳遞和接收數(shù)組參數(shù)的實(shí)例

    下面小編就為大家分享一篇springmvc 傳遞和接收數(shù)組參數(shù)的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • java多線程編程之Synchronized塊同步方法

    java多線程編程之Synchronized塊同步方法

    這篇文章主要介紹了java多線程編程之Synchronized塊同步方法,synchronized關(guān)鍵字又稱同步鎖,當(dāng)方法執(zhí)行完后,會自動釋放鎖鎖,只有一個線程能進(jìn)入此方法,看看下文中各種例子對synchronized的詳細(xì)解釋
    2015-12-12
  • SpringBoot整合Dubbo+Zookeeper實(shí)現(xiàn)RPC調(diào)用

    SpringBoot整合Dubbo+Zookeeper實(shí)現(xiàn)RPC調(diào)用

    這篇文章主要給大家介紹了Spring Boot整合Dubbo+Zookeeper實(shí)現(xiàn)RPC調(diào)用的步驟詳解,文中有詳細(xì)的代碼示例,對我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-07-07

最新評論