學(xué)習(xí)Java過(guò)程中會(huì)遇到許許多多的問(wèn)題,如何實(shí)現(xiàn)Java重寫(xiě)父類(lèi)方法?方法的重寫(xiě)需要遵循“兩同兩小一大”原則,究竟什么是“兩同兩小一大”原則?千鋒小編整理了如下內(nèi)容,希望對(duì)大家有所幫助。
“兩同兩小一大”原則:“兩同”指方法名相同,形參列表相同;“兩小”指子類(lèi)方法返回類(lèi)型應(yīng)比父類(lèi)方法返回類(lèi)型更小或者相等;“一大”指的是子類(lèi)方法的訪(fǎng)問(wèn)權(quán)限應(yīng)比父類(lèi)方法的訪(fǎng)問(wèn)權(quán)限更大或者相等。
八大基本類(lèi)型大小:
byte 8bit
short 16bit
char 16bit
int 32bit
float 32bit
long 64bit
double 64bit
還需要注意的是重寫(xiě)的方法和被重寫(xiě)的方法必須都是類(lèi)方法或?qū)嵗椒?有無(wú)static方法修飾,有的就是類(lèi)方法,無(wú)則事實(shí)例方法),不能一個(gè)是類(lèi)方法一個(gè)是實(shí)例方法,不然編譯的時(shí)候就會(huì)報(bào)錯(cuò)。
特殊情況1.0:
當(dāng)想修改父類(lèi)中由private修飾的方法時(shí):
我們知道private修飾的方法是禁止子類(lèi)訪(fǎng)問(wèn)的,所以在子類(lèi)中重寫(xiě)該方法時(shí),就不能說(shuō)是重寫(xiě)了,而是在子類(lèi)中重新定義了一個(gè)方法。
特殊情況2.0:
當(dāng)想在子類(lèi)的方法中調(diào)用父類(lèi)被覆蓋的方法時(shí):
可以用super來(lái)調(diào)用父類(lèi)被覆蓋的實(shí)例方法
super是java里的一個(gè)關(guān)鍵字,用于限定對(duì)象調(diào)用他從父類(lèi)繼承到的實(shí)例變量或方法
需要注意的是super是限定對(duì)象的,所以在有static修飾的方法中不能出現(xiàn)super,static修飾的方法屬于類(lèi),而super是屬于對(duì)象。
通過(guò)以上的解釋?zhuān)懔私馊绾螌?shí)現(xiàn)Java重寫(xiě)父類(lèi)方法了么?對(duì)于初學(xué)者來(lái)說(shuō),不可避免在學(xué)習(xí)Java中會(huì)遇到很多問(wèn)題,這時(shí)候歡迎你關(guān)注、咨詢(xún)千鋒教育老師,如果想要了解Java培訓(xùn)課程,可以隨時(shí)來(lái)千鋒實(shí)地考察和咨詢(xún)!