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

Java超詳細(xì)講解多態(tài)的調(diào)用

 更新時(shí)間:2022年05月13日 15:40:54   作者:花~盜  
多態(tài)就是指程序中定義的引用變量所指向的具體類型和通過(guò)該引用變量發(fā)出的方法調(diào)用在編程時(shí)并不確定,而是在程序運(yùn)行期間才確定,即一個(gè)引用變量到底會(huì)指向哪個(gè)類的實(shí)例對(duì)象,該引用變量發(fā)出的方法調(diào)用到底是哪個(gè)類中實(shí)現(xiàn)的方法,必須在由程序運(yùn)行期間才能決定

概念:多態(tài)是什么它就相當(dāng)于區(qū)別對(duì)待,比如買票這個(gè)行為,當(dāng)普通人買票時(shí),是全價(jià)買票;學(xué)生買票時(shí),是半價(jià)買票;軍人買票時(shí)是優(yōu) 先買票。再者就是再舉個(gè)詳細(xì)的例子: 最近為了爭(zhēng)奪在線支付市場(chǎng),支付寶年底經(jīng)常會(huì)做誘人的掃紅包-支付-給獎(jiǎng)勵(lì)金的活動(dòng)。那么 大家想想為什么有人掃的紅包又大又新鮮8塊、10塊…,而有人掃的紅包都是1毛,5毛…。其實(shí)這背后也是 一個(gè)多態(tài)行為。支付寶首先會(huì)分析你的賬戶數(shù)據(jù),比如你是新用戶、比如你沒(méi)有經(jīng)常支付寶支付等等,那么 你需要被鼓勵(lì)使用支付寶,那么就你掃碼金額 = random()%99;比如你經(jīng)常使用支付寶支付或者支付寶賬戶 中常年沒(méi)錢,那么就不需要太鼓勵(lì)你去使用支付寶,那么就你掃碼金額 = random()%1;總結(jié)一下:同樣是 掃碼動(dòng)作,不同的用戶掃得到的不一樣的紅包,這也是一種多態(tài)行為。ps:支付寶紅包問(wèn)題純屬瞎編,大家 僅供娛樂(lè)。

多態(tài)的必要條件:繼承,重寫,杜磊引用指向子類對(duì)象

當(dāng)使用多態(tài)方式調(diào)用方法時(shí),首先檢查父類中是否有該方法,如果沒(méi)有,則編譯錯(cuò)誤;如果有,再去調(diào)用子類的同名方法

多態(tài)的特點(diǎn):

1:應(yīng)用程序不必為每一個(gè)派生類編寫功能調(diào)用,只需要對(duì)抽象基類進(jìn)行處理即可。大大提高程序的可復(fù)用性。

2:派生類的功能可以被基類的方法或引用變量所調(diào)用,這叫向后兼容,可以提高可擴(kuò)充性和可維護(hù)性。

代碼如下:

測(cè)試類:

package com.ytzl.total;
/*多態(tài)*/
public class polymorphic {
    public static void main(String[] args) {
        //使用純純的調(diào)用來(lái)測(cè)試
        fathers fathers = new fathers();//調(diào)用父類
        Eldestson eldestson = new Eldestson();//調(diào)用大兒子類
        youngestson youngestson = new youngestson();//調(diào)用小兒子類
        fathers.eat();//正常調(diào)用
        eldestson.eat();//正常待用
        youngestson.eat();//正常調(diào)用
        System.out.println("\n");
        //使用多態(tài)來(lái)測(cè)試
        fathers eldestson1 = new Eldestson();///子類對(duì)象的地址值交給父類的eldestson1來(lái)保存
        fathers youngestson1 = new youngestson();//子類對(duì)象的地址值交給父類的youngestson1來(lái)保存
        eldestson1.eat();//多態(tài)調(diào)用
        youngestson1.eat();//多態(tài)調(diào)用
        eldestson1.setMoney(100);//通過(guò)多態(tài)去賦值
        eldestson1.setName("小明");//通過(guò)多態(tài)去賦值
        youngestson1.setMoney(50);//通過(guò)多態(tài)去賦值
        youngestson1.setName("小張");//通過(guò)多態(tài)去賦值
        eldestson1.money();//通過(guò)多態(tài)以子類去獲取父類方法
        youngestson1.money();//通過(guò)多態(tài)以子類去獲取父類方法
    }
}

父類:

package com.ytzl.total;
/*父類*/
public class fathers {
    private int money;
    private String name;
    public fathers() {
    }
    public fathers(int money, String name) {
        this.money = money;
        this.name = name;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getMoney() {
        return money;
    }
    public void setMoney(int money) {
        this.money = money;
    }
    public void eat(){
        System.out.println("我是父類,我老了牙壞了不能吃硬的。");
    }
    public void money(){
        System.out.println("父類給了"+name+money+"元");
    }
}

子類一:

package com.ytzl.total;
/*大兒類*/
public class Eldestson extends fathers{
    public void eat(){
        System.out.println("我是大兒子類,我還年輕我胃口好牙好什么都能吃。");
    }
}

子類二:

package com.ytzl.total;
/*小兒子類*/
public class youngestson extends fathers{
    public void eat(){
        System.out.println("我是小兒子類,我還小我牙都沒(méi)長(zhǎng)齊不能吃太硬的。");
    }
}

運(yùn)行結(jié)果如下:

到此這篇關(guān)于Java超詳細(xì)講解多態(tài)的調(diào)用的文章就介紹到這了,更多相關(guān)Java 多態(tài)調(diào)用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • eclipse創(chuàng)建項(xiàng)目沒(méi)有dynamic web的解決方法

    eclipse創(chuàng)建項(xiàng)目沒(méi)有dynamic web的解決方法

    最近上課要用到eclipse,要用到Dynamic web project.但是我下載的版本上沒(méi)有.接下來(lái)就帶大家了解 eclipse創(chuàng)建項(xiàng)目沒(méi)有dynamic web的解決方法,文中有非常詳細(xì)的圖文示例,需要的朋友可以參考下
    2021-06-06
  • 關(guān)于@Valid注解大全以及用法規(guī)范

    關(guān)于@Valid注解大全以及用法規(guī)范

    這篇文章主要介紹了關(guān)于@Valid注解大全以及用法規(guī)范,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • java如何獲取兩個(gè)List集合之間的交集、差集、并集

    java如何獲取兩個(gè)List集合之間的交集、差集、并集

    在日常開(kāi)發(fā)中經(jīng)常會(huì)遇到對(duì)2個(gè)集合的操作,例如2個(gè)集合之間取相同的元素(交集),2個(gè)集合之間取不相同的元素(差集)等等,這篇文章主要給大家介紹了關(guān)于java如何獲取兩個(gè)List集合之間的交集、差集、并集的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • SpringBoot URL帶有特殊字符([]/{}等),報(bào)400錯(cuò)誤的解決

    SpringBoot URL帶有特殊字符([]/{}等),報(bào)400錯(cuò)誤的解決

    這篇文章主要介紹了SpringBoot URL帶有特殊字符([]/{}等),報(bào)400錯(cuò)誤的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Spring SseEmitter推送消息及常用方法

    Spring SseEmitter推送消息及常用方法

    SseEmitter 是 Spring Framework 提供的用于支持 Server-Sent Events(SSE)的類,它允許服務(wù)器端向客戶端推送事件流,實(shí)現(xiàn)服務(wù)器到客戶端的單向通信,這篇文章主要介紹了Spring SseEmitter推送消息,需要的朋友可以參考下
    2024-07-07
  • java常見(jiàn)的五種加密算法使用方法舉例

    java常見(jiàn)的五種加密算法使用方法舉例

    這篇文章主要介紹了java常見(jiàn)的加密算法使用的相關(guān)資料,分別是BCrypt、MD5、RSA、AES和SM4這五種加密算法,并簡(jiǎn)要描述了它們的特點(diǎn)和應(yīng)用場(chǎng)景,給出了詳細(xì)的代碼示例,需要的朋友可以參考下
    2025-03-03
  • 解決BeanUtils.copyProperties無(wú)法成功封裝的問(wèn)題

    解決BeanUtils.copyProperties無(wú)法成功封裝的問(wèn)題

    這篇文章主要介紹了解決BeanUtils.copyProperties無(wú)法成功封裝的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • SpringBoot實(shí)現(xiàn)動(dòng)態(tài)插拔的AOP的完整案例

    SpringBoot實(shí)現(xiàn)動(dòng)態(tài)插拔的AOP的完整案例

    在現(xiàn)代軟件開(kāi)發(fā)中,面向切面編程(AOP) 是一種非常重要的技術(shù),能夠有效實(shí)現(xiàn)日志記錄、安全控制、性能監(jiān)控等橫切關(guān)注點(diǎn)的分離,在傳統(tǒng)的 AOP 實(shí)現(xiàn)中,切面邏輯往往是固定的,難以動(dòng)態(tài)調(diào)整,本文將詳細(xì)探討如何利用 Spring Boot 實(shí)現(xiàn)動(dòng)態(tài)插拔的 AOP,需要的朋友可以參考下
    2025-01-01
  • 一文詳解Spring Security的基本用法

    一文詳解Spring Security的基本用法

    Spring Security是一個(gè)功能強(qiáng)大且高度可定制的身份驗(yàn)證和訪問(wèn)控制框架, 提供了完善的認(rèn)證機(jī)制和方法級(jí)的授權(quán)功能。本文將通過(guò)一個(gè)簡(jiǎn)單的案例了解一下Spring Security的基本用法,需要的可以參考一下
    2022-05-05
  • Java集合框架之Map詳解

    Java集合框架之Map詳解

    這篇文章主要為大家詳細(xì)介紹了Java集合框架之Map,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03

最新評(píng)論

丹巴县| 开封市| 石嘴山市| 太仓市| 天全县| 博野县| 辽中县| 乌苏市| 磐石市| 大渡口区| 松潘县| 资阳市| 巴东县| 武平县| 甘洛县| 绍兴市| 台中县| 靖西县| 宜兴市| 广德县| 大田县| 抚松县| 通许县| 忻州市| 洛阳市| 鹿邑县| 龙江县| 宣威市| 合川市| 安庆市| 梁平县| 赤城县| 隆安县| 波密县| 大兴区| 磐石市| 驻马店市| 金湖县| 尤溪县| 平潭县| 日照市|