最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java多態(tài)中的就近原則介紹

 更新時(shí)間:2021年12月23日 14:13:06   作者:踏過山河,踏過海  
大家好,本篇文章主要講的是java多態(tài)中的就近原則介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽

直接上題:

在這里插入圖片描述

題目補(bǔ)充:

class A {
    int m;                     //-10
    int getM() {
        return m;
    }
    int seeM() {
        return m;
    }
}
class B extends A {
    int m ;                      //10
    int getM() {
       // System.out.println(this.m+"............"+super.m);
        return m+10;
    }
}
public class Test {
    public static void main(String args[]) {
        B b = new B();                               //先找B,B沒有再找A,找A的時(shí)候,就要注意:就近原則了
        b.m = 10;
        //此刻,A類的m為0,B類的m為10
        System.out.println("b.seeM():"+b.seeM());
        System.out.println("b.getM():"+b.getM());//20

        A a = b;                                  //把b符給a這樣創(chuàng)建對象的方法,還是先找B,B沒有再找A,找A的時(shí)候,就要注意:就近原則了
        //此刻,A類的m仍為0,B類的m仍為10
        System.out.println("...................................");
        System.out.println("a.seeM():"+a.seeM());
        System.out.println("a.getM():"+a.getM());
        System.out.println("...................................");

        a.m = -10;//A只能改自己的m,不能改B的m,所以
        //此刻,A類的m為-10,B類的仍m為10

        System.out.println("b.getM():"+b.getM());//20   b始終調(diào)用重寫后的getM()方法
        System.out.println("a.getM():"+a.getM());//b.getM()是20,后來把b賦給a,a也成了20     20
        //b調(diào)用的getM()方法是重寫之后的getM()方法,所以是10+10

        System.out.println("a.seeM():"+a.seeM());
        System.out.println("b.seeM():"+b.seeM());//此時(shí)不管是a的m還是b的m都是-10            -10
        System.out.println("a.m:"+a.m+"   b.m:"+b.m);
        System.out.println("a.getM():"+a.getM());
        //因?yàn)閎自己沒有seeM方法,所以b在使用seeM方法時(shí),是用的父類A的seeM方法,根據(jù)就近原則,b在調(diào)用seeM方法時(shí)是使用的A.m的-10
        //所以,b通過seeM()方法看到的是m是a的m
    }
}

在這里插入圖片描述

判斷成員變量的方法\技巧其實(shí)很簡單:

只需要:

確定當(dāng)前這個(gè)類 調(diào)用的成員方法 是先找誰?

=>如果先找父類,找就完事了

=>如果先在子類,子類找到了要用的方法,那就用;

如果沒找到,還要去父類里面去找要用到的方法,注意,這時(shí)就要使用就近原則

所以,關(guān)鍵有二:

一,確定先找誰?先找父類還是先在子類

eg:以上面的題為例:

B b = new B();//子類B, 子類 方法找完還 沒找到 時(shí),還要父類 里面找

A a = b;//注意這種 : 還是 子類B, 子類 方法找完還 沒找到 時(shí),還要父類 里面找

A a = new A();//這個(gè)時(shí)候,父類A,但 父類 方法找完還沒找到時(shí),不會再找 子類 了!

二,當(dāng)從子類B找到父類A時(shí),注意:要用到就近原則

到此這篇關(guān)于java多態(tài)中的就近原則介紹的文章就介紹到這了,更多相關(guān)java多態(tài)就近原則內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java使用connectTo方法提高代碼可續(xù)性詳解

    Java使用connectTo方法提高代碼可續(xù)性詳解

    這篇文章主要介紹了Java使用connectTo方法提高代碼可續(xù)性,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • springMVC4之強(qiáng)大類型轉(zhuǎn)換器實(shí)例解析

    springMVC4之強(qiáng)大類型轉(zhuǎn)換器實(shí)例解析

    本篇文章主要介紹了springMVC4之強(qiáng)大類型轉(zhuǎn)換器實(shí)例解析,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • java編程實(shí)現(xiàn)根據(jù)EXCEL列名求其索引的方法

    java編程實(shí)現(xiàn)根據(jù)EXCEL列名求其索引的方法

    這篇文章主要介紹了java編程實(shí)現(xiàn)根據(jù)EXCEL列名求其索引的方法,涉及Java元素遍歷與數(shù)學(xué)運(yùn)算的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-11-11
  • Java實(shí)現(xiàn)字符串與字節(jié)數(shù)組之間相互轉(zhuǎn)換

    Java實(shí)現(xiàn)字符串與字節(jié)數(shù)組之間相互轉(zhuǎn)換

    在Java編程中,字符串(String)和字節(jié)數(shù)組(byte[])之間的相互轉(zhuǎn)換是非常常見的操作,這種轉(zhuǎn)換在網(wǎng)絡(luò)編程、文件處理、加密解密等場景中尤為重要,本文將詳細(xì)介紹如何在Java中實(shí)現(xiàn)字符串與字節(jié)數(shù)組之間的相互轉(zhuǎn)換,需要的朋友可以參考下
    2025-02-02
  • logback整合rabbitmq實(shí)現(xiàn)消息記錄日志的配置

    logback整合rabbitmq實(shí)現(xiàn)消息記錄日志的配置

    這篇文章主要介紹了logback整合rabbitmq實(shí)現(xiàn)消息記錄日志的配置,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-12-12
  • Java使用JDBC連接postgresql數(shù)據(jù)庫示例

    Java使用JDBC連接postgresql數(shù)據(jù)庫示例

    這篇文章主要介紹了Java使用JDBC連接postgresql數(shù)據(jù)庫,結(jié)合實(shí)例形式分析了jdbc連接postgresql數(shù)據(jù)庫及數(shù)值插入、更新、查詢等相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • Spring @Conditional注解講解及示例詳解

    Spring @Conditional注解講解及示例詳解

    這篇文章主要介紹了Spring @Conditional注解講解及示例詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Java小程序計(jì)算圓周率代碼

    Java小程序計(jì)算圓周率代碼

    這篇文章主要介紹了Java小程序計(jì)算圓周率代碼,有兩種實(shí)現(xiàn)方法,喜歡的朋友可以參考下。
    2017-09-09
  • @FeignClient之name,value,url詳解

    @FeignClient之name,value,url詳解

    在FeignClient中,`name`用于指定服務(wù)的名稱,通常與服務(wù)注冊中心中的服務(wù)名關(guān)聯(lián),而`url`用于指定請求的基礎(chǔ)URL,適用于不使用服務(wù)注冊的場景,如果同時(shí)配置了`name`和`url`,則`url`會優(yōu)先生效,Feign會直接使用`url`指定的地址
    2024-11-11
  • MyBatis-Plus 快速入門案例(小白教程)

    MyBatis-Plus 快速入門案例(小白教程)

    這篇文章主要介紹了MyBatis-Plus 快速入門案例(小白教程),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08

最新評論

开原市| 万盛区| 中江县| 巴楚县| 平泉县| 远安县| 蓬莱市| 边坝县| 玉龙| 紫阳县| 介休市| 保山市| 襄樊市| 望奎县| 五常市| 温泉县| 浠水县| 高雄县| 封丘县| 德钦县| 松江区| 泰和县| 汝阳县| 西贡区| 格尔木市| 苍梧县| 汉阴县| 靖边县| 达拉特旗| 中牟县| 化隆| 凤庆县| 高州市| 宜阳县| 巴楚县| 灌阳县| 全南县| 来凤县| 菏泽市| 新竹县| 太和县|