重寫(overriding): 指在繼承情況下,子類中定義了與其父類中方法具有相同型構(gòu)的新方法,就稱為子類把父類的方法重寫了。這是實現(xiàn)多態(tài)必須的步驟。
重載(overloading): 指在同一個類中定義了一個以上具有相同名稱,但是型構(gòu)不同的方法。
重載和重寫都是針對方法的概念,在弄清楚這兩個概念之前,我們先來了解一下什么叫方法的型構(gòu)(signature)。
型構(gòu): 指方法的組成結(jié)構(gòu),具體包括方法的名稱和參數(shù),涵蓋參數(shù)的數(shù)量、類型以及出現(xiàn)的順序,但是不包括方法的返回值類型,訪問權(quán)限修飾符,以及 abstract、static、final 等修飾符。
注意:在同一個類中,是不允許定義多于一個的具有相同型構(gòu)的方法。
為了加深理解,我們來考慮一個有趣的問題:構(gòu)造器可以被重載嗎?
答案當然是可以的,我們在實際的編程中也經(jīng)常這么做。實際上構(gòu)造器也是一個方法,構(gòu)造器名就是方法名,構(gòu)造器參數(shù)就是方法參數(shù),而它的返回值就是新創(chuàng)建的類的實例。但是構(gòu)造器卻不可以被子類重寫,因為子類無法定義與父類具有相同型構(gòu)的構(gòu)造器。
以上就是北大青鳥長沙麓谷校區(qū)java培訓機構(gòu)的小編針對“Java面向?qū)ο缶幊?,三大特性之重寫和重載”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。
Java視頻相關(guān)教程:
Java基礎(chǔ)視頻_面向?qū)ο蟾拍睿篽ttp://www.bjpowernode.com/xiazai/2649.html
Java基礎(chǔ)視頻_面向?qū)ο笕筇卣鳎篽ttp://www.bjpowernode.com/xiazai/2629.html