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

Java向上轉型和向下轉型的區(qū)別說明

 更新時間:2022年06月10日 09:16:30   作者:doublewe  
這篇文章主要介紹了Java向上轉型和向下轉型的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

向上轉型和向下轉型的區(qū)別

前言:

  • 向上轉型:父類引用類型指向了子類的實例對象,此時無法使用子類里的成員變量以及方法。
  • 向下轉型:通過引用類型強轉,恢復了子類的成員變量以及方法。

1.代碼實現

可以發(fā)現,父類雖然指向了子類的實例對象,但是并不能調用子類對象的方法,編譯器報錯。此時我們可以看作被隱藏了,那么怎樣才可以把被隱藏的方法放出來呢?此時就需要向下轉型。

2.實現向下轉型

將a強轉為Son引用類型。

((Son)a).sleep();   //調用子類的sleep方法

3.此時執(zhí)行程序

成功向下轉型,那么這樣有什么作用呢?

其實,無論是上轉還是下轉都是為了讓類的使用范圍和適用范圍發(fā)生變化,以便操作不同范圍的變量或者方法。

這樣其實就是一個java的繼承多態(tài),利于程序擴展。

我們需要這種設計方式,才會寫出更易維護、簡潔的代碼。

簡單認識向上轉型和向下轉型

向上轉型:父類引用指向子類對象

例如:子類student繼承了父類person

Person person = new Student();

向上轉型后的變化

關于方法:person可以調用子類和父類公用的方法(如果子類重寫了父類的方法,則調用子類的方法),子類特有的方法無法調用。

關于屬性: person可以調用父類的屬性,不可以調用子類的屬性。

向上轉型的作用

減少一些重復的代碼

對象實例化的時候可以根據不同需求實例化不同的對象

向下轉型:子類引用指向父類對象

Father f=new Son() //先向上轉型
Son s=(Son) f;//再進行向下轉型,進行強制轉換,子類引用s,父類引用f

向下轉型的條件:先向上轉型,再向下轉型。沒有經過向上轉型,會提示編譯錯誤。

向下轉型后的變化

關于方法:可以調用子類的所有方法,和屬性,類型轉為子類

關于屬性:調用的屬性為子類的屬性。

向下轉型的作用:向上轉型時 ,會遺失子類對象獨有的其他方法;可以通過向下轉型在重新轉回。

這種轉型可能存在轉型失敗地風險,因為父類地范圍更廣,如果不確定父類對象就是該子類的對象,不推薦使用向下轉型。

Person person = new Student();
Teacher teacher = (Teacher) person; // 不安全

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • SpringCloud?Nacos服務分級存儲模型詳解

    SpringCloud?Nacos服務分級存儲模型詳解

    Nacos服務分級存儲模型是Nacos存儲服務注冊信息和配置信息的核心模型之一,本文將對?Nacos?服務分級存儲模型進行深入解析,感興趣的朋友一起看看吧
    2024-02-02
  • Java面向對象之內部類詳解

    Java面向對象之內部類詳解

    在 Java 中,允許一個類的定義位于另一個類的內部,前者稱為內部類,后者稱為外部類。這篇文章將總結一下內部類的使用,感興趣的可以了解一下
    2022-10-10
  • Java?Swing實現畫板的簡單操作

    Java?Swing實現畫板的簡單操作

    這篇文章主要介紹了Java?Swing實現畫板的簡單操作,修改顏色,更改圖形,清除,任務欄按鈕,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Java日期轉換注解配置date?format時間失效

    Java日期轉換注解配置date?format時間失效

    這篇文章主要為大家介紹了Java日期轉換注解配置date?format時間失效,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • 利用synchronized實現線程同步的案例講解

    利用synchronized實現線程同步的案例講解

    這篇文章主要介紹了利用synchronized實現線程同步的案例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • maven多個plugin相同phase的執(zhí)行順序

    maven多個plugin相同phase的執(zhí)行順序

    這篇文章主要介紹了maven多個plugin相同phase的執(zhí)行順序,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Java匿名內部類原理與用法詳解

    Java匿名內部類原理與用法詳解

    這篇文章主要介紹了Java匿名內部類原理與用法,結合實例形式分析了Java匿名內部類的概念、原理、應用與相關操作注意事項,需要的朋友可以參考下
    2019-09-09
  • Mybatis resultType返回結果為null的問題排查方式

    Mybatis resultType返回結果為null的問題排查方式

    這篇文章主要介紹了Mybatis resultType返回結果為null的問題排查方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 一個JAVA小項目--Web應用自動生成Word

    一個JAVA小項目--Web應用自動生成Word

    前段時間接到一個Web應用自動生成Word的需求,現整理了下一些關鍵步驟拿來分享一下。
    2014-05-05
  • Spring?Boot應用打WAR包后無法注冊到Nacos的問題及解決方法

    Spring?Boot應用打WAR包后無法注冊到Nacos的問題及解決方法

    當我們將?Spring?Boot?應用打包成?WAR?并部署到外部?Tomcat?服務器時,可能會遇到服務無法注冊到?Nacos?的情況,其原因主要是應用獲取不到正確的服務器端口,下面給大家介紹Spring?Boot?應用打?WAR?包后無法注冊到?Nacos的問題及解決方法,感興趣的朋友跟隨小編一起看看吧
    2024-06-06

最新評論

永修县| 饶平县| 东源县| 类乌齐县| 广宗县| 垦利县| 鄂伦春自治旗| 黑龙江省| 栾川县| 舒兰市| 衡南县| 汽车| 罗源县| 鲁甸县| 嵊州市| 濮阳市| 和田县| 黄骅市| 托克逊县| 思南县| 韶山市| 古丈县| 陵水| 达拉特旗| 旅游| 天祝| 呈贡县| 铜川市| 雷州市| 南溪县| 马鞍山市| 屯留县| 乌兰县| 肥西县| 竹北市| 葫芦岛市| 金华市| 张家界市| 襄垣县| 团风县| 中阳县|