老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

java的多態性有關代碼 什么是java語言的多態性

Java運行時多態性的實現

運行時多態性是面向對象程序設計代碼重用的一個最強大機制 動態性的概念也可以被說成 一個接口 多個方法 Java實現運行時多態性的基礎是動態方法調度 它是一種在運行時而不是在編譯期調用重載方法的機制 下面就繼承和接口實現兩方面談談java運行時多態性的實現

成都創新互聯專注于企業營銷型網站、網站重做改版、綏棱網站定制設計、自適應品牌網站建設、H5建站商城網站開發、集團公司官網建設、成都外貿網站建設公司、高端網站制作、響應式網頁設計等建站業務,價格優惠性價比高,為綏棱等各大城市提供網站開發制作服務。

一 通過繼承中超類對象引用變量引用子類對象來實現

舉例說明

//定義超類superA

class superA

{

int i =

void fun()

{

System out println( This is superA )

}

}

//定義superA的子類subB

class subB extends superA

{

int m =

void fun()

{

System out println( This is subB )

}

}

//定義superA的子類subC

class subC extends superA

{

int n =

void fun()

{

System out println( This is subC )

}

}

class Test

{

public static void main(String[] args)

{

superA a

subB b = new subB()

subC c = new subC()

a=b

a fun() ???????? ( )

a=c

a fun() ???????? ( )

}

}

運行結果為

This is subB

This is subC

上述代碼中subB和subC是超類superA的子類 我們在類Test中聲明了 個引用變量a b c 通過將子類對象引用賦值給超類對象引用變量來實現動態方法調用 也許有人會問 為什么( )和( )不輸出 This is superA java 的這種機制遵循一個原則 當超類對象引用變量引用子類對象時 被引用對象的類型而不是引用變量的類型決定了調用誰的成員方法 但是這個被調用的方法必須是在超類中定義過的 也就是說被子類覆蓋的方法

所以 不要被上例中( )和( )所迷惑 雖然寫成a fun() 但是由于( )中的a被b賦值 指向了子類subB的一個實例 因而( )所調用的fun()實際上是子類subB的成員方法fun() 它覆蓋了超類superA的成員方法fun() 同樣( )調用的是子類subC的成員方法fun()

另外 如果子類繼承的超類是一個抽象類 雖然抽象類不能通過new操作符實例化 但是可以創建抽象類的對象引用指向子類對象 以實現運行時多態性 具體的實現方法同上例

不過 抽象類的子類必須覆蓋實現超類中的所有的抽象方法 否則子類必須被abstract修飾符修飾 當然也就不能被實例化了

二 通過接口類型變量引用實現接口的類的對象來實現

接口的靈活性就在于 規定一個類必須做什么 而不管你如何做 我們可以定義一個接口類型的引用變量來引用實現接口的類的實例 當這個引用調用方法時 它會根據實際引用的類的實例來判斷具體調用哪個方法 這和上述的超類對象引用訪問子類對象的機制相似

舉例說明

//定義接口InterA

interface InterA

{

void fun()

}

//實現接口InterA的類B

class B implements InterA

{

public void fun()

{

System out println( This is B )

}

}

//實現接口InterA的類C

class C implements InterA

{

public void fun()

{

System out println( This is C )

}

}

class Test

{

public static void main(String[] args)

{

InterA a

a= new B()

a fun()

a = new C()

a fun()

}

}

輸出結果為

This is B

This is C

上例中類B和類C是實現接口InterA的兩個類 分別實現了接口的方法fun() 通過將類B和類C的實例賦給接口引用a而實現了方法在運行時的動態綁定 充分利用了 一個接口 多個方法 展示了Java的動態多態性

需要注意的一點是 Java在利用接口變量調用其實現類的對象的方法時 該方法必須已經在接口中被聲明 而且在接口的實現類中該實現方法的類型和參數必須與接口中所定義的精確匹配

lishixinzhi/Article/program/Java/hx/201311/26085

java多態性

因為new SuberClass();這段代碼,是實例化SuberClass類,就是調用SuberClass類的無參構造函數,但是SuberClass類繼承了BaseClass類,所以默認先調用父類的構造函數(

public BaseClass(){

System.out.println("Now in BaseClass()");

init();

}

誰能跟我說幾個JAVA多態,在現實生活中應用的例子,不要說代碼和概念,就只說案例

有一個比較經典的多態實例:

有一個Animal類,它有Cat,和Dog兩個子類,在Animal中有個say方法,當Cat調用這個方法的時候輸出的是“小貓喵喵喵”,當Dog調用這個方法時,輸出的是“小狗汪汪汪”,這就是Java多態的實現。

1、定義一種動物,該類型的動物有叫的屬性。

2、分別定義貓,狗,鳥,都繼承于該動物,都有叫的屬性。

3、分別表示出各個具體小動物的叫聲,例如貓的叫聲:喵、狗的叫聲:汪、鳥的叫聲:咻,點是叫聲,實現各個具體小動物用的叫聲的方法是用的同一個函數名稱,就是動物的叫聲函數。

多態:

這個案例網上是沒有的,屬于無忌獨創,當時在幫孩子輔導作業,小學科學,里面有一點內容是關于人的牙齒,說牙齒分為:門齒、犬齒、臼齒。

問閨女,為什么這么分呢?閨女說牙齒雖然都是用來咬食物,但是食物種類很多,咬碎需要的工具也不一樣,門齒用來切割食物,如:蘋果、梨;犬齒用來撕碎食物。

如肉類;臼齒用來磨碎食物,如犬齒撕碎的肉類,就需要再用臼齒來磨碎,然后送到食道,胃,小腸,大腸進行消化。我恍然大悟,這不就是Java面向對象里的多態嗎?多完美啊。

這也很好說明了為什么會有多態出現,因為生活中就存在太多這種例子,所以需要多態來匹配解決。

JAVA代碼編寫,多態

第一步:創建一個父類,如Animal(動物) 類,這個方法中只有方法的定義,沒有實現。第二步:創建一個子類,如cat(貓)類,這個方法中實現父類中的所有方法,并進行重寫。

第三步:創建一個子類,如dog(狗)類,這個方法中實現父類中的所有方法,并進行重寫。

備注:多態實際上是一個父類有特定的屬性,如動物有名稱、年齡、所屬科目,之后由子類去實現具體的,如貓,名稱是貓,年齡是5歲,所屬科目為貓科,然后狗同樣有這些屬性,只不過是值不同,這個就是一個多態的形式。子類可以有無限多,在步驟三后面添加即可。


網站題目:java的多態性有關代碼 什么是java語言的多態性
文章起源:http://www.xueling.net.cn/article/hpieei.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 私人影院性盈盈影院 | 欧美日韩免费黄色网站 | 国产精品自在拍视频首页 | av免费在线观看网站 | 欧美大片aaaa在线观看 | 老司机aⅴ在线精品导航 | blacked欧美黑粗硬大 | 国产精品aⅴ | 操bb免费视频 | 久久久精品午夜免费不卡 | 久久精品国内一区二区三区 | 色综合色欲色综合色综合色乛 | H无码精品视频在线观看网站 | 精品国产污污免费网站入口 | 日本一二三在线观看 | 亚洲精华国产 | 天天做天天爱天天综合网 | 午夜A片免费 | 在线视频日韩精品 | 国产精品另类激情久久久免费 | 日本高清视频免费在线观看 | 色呦呦官网 | 全国最大成人免费视频 | 久草热这里有精品6 | 久久精品女同亚洲女同13 | 日本韩国黄色一区二区三区 | 亚洲AV日韩AV一区谷露 | 色哟哟国产成人精品免费 | 日日干日日操 | 大地资源视频在线观看免费高清 | 黑人无套激情内精视频 | 久久99精品国产麻豆婷婷小说 | 在教室伦流澡到高潮H免费视频 | 亚洲乱亚洲乱少妇无码 | 精品麻豆 | 午夜香吻免费观看视频在线播放 | 亚洲一区二区三区四区五区不卡 | 成人乱码一区二区三区不卡视频 | jizzjizz丝袜老师 | 亚洲av网站 | www四虎影院 |