欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Java中override和overload有什么用區(qū)別-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)Java中override和overload有什么用區(qū)別的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

贊皇ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
Java::override vs overload

Java語(yǔ)法如此多嬌,引無(wú)數(shù)英雄競(jìng)折腰。

(1)override:

class Parent{
   Object func(Number n){
   ...
   }
}

class Child extends Parent{
   Object func(Number n){
   ...
   }
}

This is so-called override.

override的含義,就是俗稱的“多態(tài)”

Child.func和Parent.func可以看作是占用了虛函數(shù)指針表里面的同一個(gè)Entry.即:Child.func覆蓋了Parent.func.

Parent vtable

Entry 1:Parent.func

Child vtable

Entry 1:Child func

override是程序運(yùn)行時(shí)動(dòng)態(tài)決定調(diào)用哪個(gè)method,所以稱為:多態(tài)性.

(2)overload

class Child{

Object func(Number n){

...

}

Object func(String s){

...

}

}

This is so-called overload.

Note:兩個(gè)func方法同名,但參數(shù)不一樣,完全是不相同的方法。這兩個(gè)func方法在虛函數(shù)指針表中占用了兩個(gè)不同的Entry.

vtable

void func(Number)

void func(String)

Attention:

           overload編譯時(shí)就決定了調(diào)用哪個(gè)方法,編譯器根據(jù)參數(shù)類型的不同,產(chǎn)生了不同的調(diào)用函數(shù)地址(不同的Entry)的JVM指令.

BTW:overload怎么翻譯成了重載,實(shí)在想不明白.overload英文本義是“超載”.我強(qiáng)烈懷疑“重載”這個(gè)詞是生造詞,就像“阿爾卑斯白”這樣的詞.只可意會(huì),不可言傳.

(3)

class Parent{
   Object func(Number n){
   ...
   }
}

class Child extends Parent{
   Object func(String s){
   ...
   }
}

This is also overload.

parent vtable

Entry 1:void func(Number n) of parent

child vtable

Entry 1:void func(Number n) of parent

Entry 2:void func(String s) of child

(4)

class Parent{
   Object func(Number n){
   ...
   }
}

class Child extends Parent{
   Object func(Number n){
   ...
}

Object func(String s){
   ...
   }
}

This example code has both override and overload.

parent vtable

Entry 1:void func(Number n) of parent

child vtable

Entry 1:void func(Number n) of child

Entry 2:void func(String s) of child

=>Conclusion:

a:Strongly advise to avoid using "overload".

b:Strongly advise to use different method names.

For instance:

Objcet funcNumber(Number n){

...

}

Object funcString(String s){

...

}

End.

感謝各位的閱讀!關(guān)于“Java中override和overload有什么用區(qū)別”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

網(wǎng)站題目:Java中override和overload有什么用區(qū)別-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://aaarwkj.com/article48/cchhhp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、服務(wù)器托管網(wǎng)站收錄、網(wǎng)站排名標(biāo)簽優(yōu)化、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
国产一区二区精品久久久女同| 亚洲精品国产二区中文字幕| 亚洲毛片一区在线播放| 亚洲国产av国产av| 亚洲中文字幕乱码丝袜在线精品| 伊人欧美一区二区三区| 欧美日韩一区二区三区四区高清| 免费亚洲网站在线观看视频| 尤物欧美精品一区二区三区 | 国产中文字幕乱码中文| 欧美国产日韩在线播放| 国产精品一区在线播放| 蜜臀国产综合久久第一页| 高清白嫩学生自拍视频| 欧美大吊视频在线观看| 国产精品色呦呦一区二区| 99久久精品费精品国产风间由美| 亚洲欧美国产日韩另类| 亚洲男人的天堂社区av| 中文字幕久久亚洲一区| 成人午夜欧美熟妇小视频| 国产成人免费自拍一区| 国产av蜜臀一区二区三区| 可以看黄片的在线观看| 91精品夜夜夜一区二区| 亚洲日本韩国视频久久精品| 狠狠综爱五月天的婷婷| 五月综合丁香婷婷久久| 国产一区二区91精品| av真人青青小草一区二区欧美| 精品一区二区三区推荐| 精品免费av在线播放| 涩久久悠悠一区二区三区| 精品亚洲美无人区乱码| 青青操国产在线自偷自拍| 欧美香蕉视频一区二区| 日韩欧美亚洲国产每日更新| 日本中文有码在线观看| 欧美一区二区日韩国产| 久久 久久国内精品亚洲| 欧美 日韩一区二区在线|