您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關java中方法重寫和方法重載的區別有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
java中方法重載是什么?
方法重載使我們能夠擁有多個具有相同名稱和相同或不同返回類型的方法。方法重載的重要一點是所有這些方法必須具有相同返回類型的不同參數。通常的做法是讓方法的實現具有最多的參數,而其他方法(使用較少的參數)只是重定向到“大”方法,為缺少的參數提供默認值,如下所示:
class OverloadingExample { static int add(int a,int b){ return a + b;} static int add(int a,int b,int c){ return a + b + c;} }
java中方法重寫(覆蓋)是什么?
方法重寫(覆蓋)是Java繼承OOP原理的一部分。方法重寫(覆蓋)背后的思想是改變子類中給定方法的實現。換句話說,我們使用method (name, return types, parameters)方法來“覆蓋”父類方法的實現,然后在覆蓋的方法內實現不同的功能。
注:私有,靜態和最終方法不能在Java中重寫。
例:
class Animal { void eat(){ System.out.println(“吃 ......” ); } } class Dog extends Animal { void eat(){ System.out.println(“吃面包......” ); } }
Java中方法重寫(覆蓋)規則
以下是java中方法重寫的規則,在重寫(覆蓋)任何方法時都必須遵循這些規則。
1、方法簽名必須相同,包括返回類型,方法參數的數量,參數的類型和參數的順序
2、重寫方法不能拋出比原始或重寫方法更高的異常。意味著如果原始方法拋出IOException,那么重寫方法不能拋出IOException的超類;例如異常,但是它可以拋出IOException的任何子類,或者根本不拋出任何異常。此規則僅適用于Java中已檢查的異常,重寫方法可以自由拋出任何未檢查的異常。
3、重寫方法不能降低重寫方法的可訪問性,意味著如果原方法或重寫方法是公共的,則重寫方法不能使其受到保護。
下面我們來看看在java中方法重載,與方法重寫的具體示例。
以下是Java中方法重載和方法重寫的示例。為了解釋這個概念,我們創建了兩個類Loan和PersonalLoan。createLoan()方法因為具有不同簽名的不同版本而被重載,而在Object類中聲明的原始toString()方法在Loan和PersonalLoan類中都被重寫。
Java中方法重寫和方法重載的區別
java中的方法重載和方法重寫之間存在許多差異,重載與重寫之間的區別也是許多公司常見的Java面試問題之一。下面我們就來看看它們之間的區別:
方法重載
1、在方法重載中,類具有相同名稱和兩個或多個不同參數的方法。
2、在重載中,返回類型在兩種方法中都會有所不同。
3、在方法調用時,JVM根據傳遞給它的參數調用相應的方法。
4、方法重載是多態編譯時的示例。
5、方法重載用于增加程序的可讀性。
方法重寫
1、在方法重寫中,類和子類具有相同名稱的方法,包括參數也必須相同。
2、在重寫返回類型中也應該是相同的。
3、JVM根據用于調用方法的對象調用相應的方法。
4、方法重寫是多態運行時的示例。
5、方法重寫用于提供其超類已經提供的方法的特定實現。
感謝各位的閱讀!關于java中方法重寫和方法重載的區別有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。