黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java基礎學習:java多態的概念

Java基礎學習:java多態的概念

更新時間:2020-04-21 14:08:12 來源:動力節點 瀏覽2475次

    我們都知道面向對象有四個基本特性:抽象、封裝、繼承、多態。這四個特性,概括起來可以這么理解,抽象、封裝、繼承是多態的基礎,多態是抽象、封裝、繼承的表現。多態,是Java中非常重要的一個部分,所以今天來談一下多態(Polymorphism)。

Java基礎學習:java多態的概念

    什么是多態

    不同類的對象對同一消息作出不同的響應就叫做多態。就像上課鈴響了,上體育課的學生跑到操場上站好,上語文課的學生在教室里坐好一樣。

    多態的作用

    簡單講就是解耦。再詳細點講就是,多態是設計模式的基礎,不能說所有的設計模式都使用到了多態,但是23種中的很大一部分,都是基于多態的。

    多態存在的三個條件

    1、有繼承關系

    2、子類重寫父類方法

    3、父類引用指向子類對象

    補充一下第二點,既然多態存在必須要有“子類重寫父類方法”這一條件,那么以下三種類型的方法是沒有辦法表現出多態特性的(因為不能被重寫):

    1、static方法,因為被static修飾的方法是屬于類的,而不是屬于實例的

    2、final方法,因為被final修飾的方法無法被子類重寫

    3、private方法和protected方法,前者是因為被private修飾的方法對子類不可見,后者是因為盡管被protected修飾的方法可以被子類見到,也可以被子類重寫,但是它是無法被外部所引用的,一個不能被外部引用的方法,怎么能談多態呢

    多態的分類

    1、編譯時多態,即方法的重載,從JVM的角度來講,這是一種靜態分派(staticdispatch)

    2、運行時多態,即方法的重寫,從JVM的角度來講,這是一種動態分派(dynamicdispatch)

    關于這一點,在寫到JVM的時候會詳細講到。

    分析多態問題的幾條原則

    如果不去理解多態的原理,就從使用的角度來講,以個人的學習、工作這幾年的經驗,總結出了多態無非就是三句話:

    比如我們有一個父類Father,有一個子類Children

    1、向上轉型是自動的。即Fatherf=newChildren()是自動的,不需要強轉

    2、向下轉型要強轉。即Childrenc=newFather()是無法編譯通過的,必須要Childrenc=(Children)newFather(),讓父類知道它要轉成具體哪個子類

    3、父類引用指向子類對象,子類重寫了父類的方法,調用父類的方法,實際調用的是子類重寫了的父類的該方法。即Fatherf=newChildren(),f.toString()實際上調用的是Children中的toString()方法

Java基礎學習:java多態的概念

 以上就是動力節點java培訓機構的小編針對“Java基礎學習:java多態的概念”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 久久午夜夜伦鲁鲁片不卡 | 天天干天天拍天天射天天添天天爱 | 国产麻豆入在线观看 | 高跟鞋性xxxxhd | 欧美大陆日韩一区二区三区 | 好色视频 | 午夜成人免费视频 | 色黄啪啪网18以下勿进动画 | 久中文字幕中文字幕亚洲无线 | 免费黄色小视频 | 成人中文字幕在线观看 | 日韩欧美一区二区三区在线视频 | 久草免费资源视频 | 66j8影院xxxx深夜| 中国产一级毛片 | 96香蕉视频| 中文字幕免费视频精品一 | 印度一级毛片免费的 | 五月婷婷激情六月 | 男女真实有遮挡xx00动态图 | freexx性欧美黑人 | 在线亚洲欧美 | 日韩精品视频免费在线观看 | 久久96精品国产 | 亚洲区 欧美区 | 菊花综合网 | 日韩中文字幕网站 | 久久午夜激情 | 无码中文av有码中文av | 国产青草视频免费观看97 | 亚洲成人18 | 每日更新国产 | 国产制服 | 黄瓜视频深夜释放自己 | 夜夜骑天天干 | 久久精品一区二区三区不卡牛牛 | 日本在线观看a | 日日插人人插天天插 | 我把寡妇日出水好爽视频 | 亚洲视频中文 | 久艹在线观看 |