您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)java中重寫的使用方法,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
當(dāng)子類需要父類的功能,而子類有新的內(nèi)容,可以重寫父類中的方法。在實(shí)際開發(fā)過程中,隨著代碼量的逐漸增加,維護(hù)成了一個(gè)很大的問題,如果需要對(duì)某個(gè)方法進(jìn)行修改,其本身代碼以及其子類代碼都會(huì)受到影響,而重寫則很好的解決了這個(gè)問題。
方法重寫又稱為方法覆蓋、方法復(fù)寫。
重寫是子類對(duì)父類的允許訪問的方法的實(shí)現(xiàn)過程進(jìn)行重新編寫, 返回值和形參都不能改變。
方法重寫特點(diǎn)
在子類和父類中,出現(xiàn)了方法聲明相同的情況
子類的方法聲明要和父類相同
子類要重寫的方法,方法的權(quán)限修飾符不能比父類更低(public 、protected 、default 、private 權(quán)限依次增加)
父類私有的方法,子類不能進(jìn)行方法重寫
代碼實(shí)例
先創(chuàng)建Person.java父類
package Rewrite; public class Person { public void eat() { System.out.println("吃飯!"); } public void work() { System.out.println("工作!"); } public void sleep() { System.out.println("睡覺!"); } }
再創(chuàng)建Student.java子類
package Rewrite; /* Student子類繼承Person父類,并對(duì)父類的work()方法進(jìn)行重寫 */ public class Student extends Person { public void work() { super.work(); //使用super關(guān)鍵字調(diào)用父類方法 System.out.println("學(xué)習(xí)!"); System.out.println("娛樂!"); } }
在Main.java中調(diào)用
package Rewrite; public class Main { public static void main(String[] args) { Person per = new Person(); //創(chuàng)建父類對(duì)象 per.eat(); per.work(); per.sleep(); Student stu = new Student(); //創(chuàng)建子類對(duì)象 stu.work(); } }
實(shí)例分析:
在Person父類中定義了三個(gè)方法,在子類中對(duì)work()方法進(jìn)行重寫
重寫時(shí)函數(shù)的返回值類型、函數(shù)名、參數(shù)列表都一樣
在子類中可以使用super關(guān)鍵字調(diào)用父類方法
關(guān)于java中重寫的使用方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。