99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

Java中override和overload有什么用區別-創新互聯

這篇文章給大家分享的是有關Java中override和overload有什么用區別的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

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

Java語法如此多嬌,引無數英雄競折腰。

(1)override:

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

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

This is so-called override.

override的含義,就是俗稱的“多態”

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

Parent vtable

Entry 1:Parent.func

Child vtable

Entry 1:Child func

override是程序運行時動態決定調用哪個method,所以稱為:多態性.

(2)overload

class Child{

Object func(Number n){

...

}

Object func(String s){

...

}

}

This is so-called overload.

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

vtable

void func(Number)

void func(String)

Attention:

           overload編譯時就決定了調用哪個方法,編譯器根據參數類型的不同,產生了不同的調用函數地址(不同的Entry)的JVM指令.

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

(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.

感謝各位的閱讀!關于“Java中override和overload有什么用區別”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

網站題目:Java中override和overload有什么用區別-創新互聯
分享網址:http://www.yijiale78.com/article48/cchhhp.html

成都網站建設公司_創新互聯,為您提供小程序開發服務器托管網站收錄網站排名標簽優化面包屑導航

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設