大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java基礎(chǔ)學(xué)習(xí):java覆蓋父類的方法

Java基礎(chǔ)學(xué)習(xí):java覆蓋父類的方法

更新時間:2020-04-21 14:22:50 來源:動力節(jié)點 瀏覽5582次

    JAVA本身并不提供子類“覆蓋”父類成員變量的方法,而事實上,從面相對象的角度上來說,子類也不應(yīng)當(dāng)可以“覆蓋”父類的成員變量。但有時候我們就是有這種需求,比如:

    Java

Java基礎(chǔ)學(xué)習(xí):java覆蓋父類的方法

    我們期望能夠打印出

    Dad

    但實際上會打印出

    Person

    原因分析

    實際上,即使子類聲明了與父類完全一樣的成員變量,也不會覆蓋掉父類的成員變量。而是在子類實例化時,會同時定義兩個成員變量,子類也可以同時訪問到這兩個成員變量,但父類不能訪問到子類的成員變量(父類不知道子類的存在)。而具體在方法中使用成員變量時,究竟使用的是父類還是子類的成員變量,則由方法所在的類決定;即,方法在父類中定義和執(zhí)行,則使用父類的成員變量,方法在子類中定義(包括覆蓋父類方法)和執(zhí)行,則使用子類的成員變量。

    解決方法

    采用get()/set()

    Java

Java基礎(chǔ)學(xué)習(xí):java覆蓋父類的方法

    得到結(jié)果:

    Dad

    由于dad.getName()執(zhí)行的是子類中重載父類的getName(),因此返回的也是子類中定義的name。這種方法最為推薦,但用起來也繁瑣一些。因為這種方法同時維護(hù)了兩個相同的成員變量,因此使用起來也得小心一些。

    使用父類成員函數(shù)

    Java

Java基礎(chǔ)學(xué)習(xí):java覆蓋父類的方法

    得到結(jié)果:

    Dad

    這種方法是在子類的構(gòu)造函數(shù)上做文章。子類的hisName即子類自己的成員變量,但只在構(gòu)造函數(shù)中使用,而在構(gòu)造函數(shù)中就是通過super給父類的成員變量賦值。這樣做的好處就是只有一個成員變量,沒有出現(xiàn)真正的“覆蓋”的問題,而且父類和子類中的方法也可以放心大膽用這個成員變量,不用擔(dān)心隱藏的問題;壞處當(dāng)然就是不太“正規(guī)”了。

    通過static塊

    Java

   Java基礎(chǔ)學(xué)習(xí):java覆蓋父類的方法

    得到結(jié)果:

    Dad

    這個方法和上面的那個很像,但從原理上來說還是有些區(qū)別的。static塊會在類初始化而不是實例化時被執(zhí)行,而父類中的static成員變量會在子類static塊執(zhí)行前就定義完成,所以子類初始化時會修改父類的成員變量值,子類實例化時自然得到的父類成員變量值也是修改過的,這樣完成了“覆蓋”。

    這種方法就像:

    Java

    publicclassDadextendsPerson{

    name="Dad";

    }

    但上面這段代碼是錯誤的,JAVA中變量是不能在方法之外進(jìn)行賦值操作的;而static塊恰恰是利用了JAVA會無條件執(zhí)行staitc塊這一特性,達(dá)到了這個目的。這種方法說壞處的話,估計就是成員變量必須是static了。

 以上就是動力節(jié)點java培訓(xùn)機(jī)構(gòu)的小編針對“Java基礎(chǔ)學(xué)習(xí):java覆蓋父類的方法”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 四虎网址 | 一区二区三区在线观看免费 | 久久这里只有精品视频99 | 免费黄色a | 亚洲另类欧美日韩 | 欧美大片aaaa一级毛片 | 久久国产精品一国产精品金尊 | 成人欧美精品大91在线 | 亚洲欧美日韩国产色另类 | 深夜免费在线视频 | 日韩操 | 综合在线视频精品专区 | 日韩一级a毛片欧美一级 | 精品无人区乱码一区二区三区手机 | 青草社区在线观看 | 99热热久久这里只有精品166 | 四虎影视在线观看永久地址 | 欧美日韩一区二区三区毛片 | 青青热久久国产久精品 | 国产伦久视频免费观看视频 | 欧美日本黄色片 | 色偷偷91久久综合噜噜噜噜 | 国产99区 | 快射视频欧美 | 亚洲精品亚洲人成人网 | 操一操 | 人人干在线观看 | 国产精品亚洲精品日韩已满 | 99精品影视 | 国产精品视频一 | 色综合五月激情综合色一区 | 国产成人在线免费 | 中文乱码精品一区二区三区 | 欧美一级爱爱视频 | 性欧美暴力猛交xxxxx高清 | 久久久久久草 | 私人影院在线 | 三级黄毛片 | 青草在线视频 | 免费一级欧美片在线观免看 | 国产福利91精品一区二区 |