方法重載和方法重寫的區別是什麼精品多篇
重載的規則 篇一
1、必須具有不同的參數列表。
2、可以有不同的返回類型,只要參數列表不同就可以了。
3、可以有不同的訪問修飾符。
4、可以拋出不同的異常。
重寫和重載的區別 篇二
1、重寫
是父類與子類之間多態性的一種表現,如果在子類中定義某方法與其父類有相同的名稱和參數,且方法的返回值類型與拋出異常的類型各自與父類的一致,我們說該方法被重寫 。
子類的對象使用這個方法時,將調用子類中的定義,對它而言,父類中的定義如同被"屏蔽"了。
2、重載
是一個類中多態性的一種表現。如果在一個類中定義了多個同名的方法,它們或有不同的參數個數或有不同的參數類型,則稱爲方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。
3、重寫與重載的區別
重寫多態性起作用,對調用被重載過的方法可以大大減少代碼的輸入量,同一個方法名只要往裏面傳遞不同的參數就可以擁有不同的`功能或返回值。
用好重寫和重載可以設計一個結構清晰而簡潔的類,可以說重寫和重載在編寫代碼過程中的作用非同一般。下面小編舉個例子說明一下。
public class Father
{
public void speak()
{
tln("Father");
}
}
public class Son extends Father
{
public void speak()
{
tln("son");
}
}
這也叫做多態性,重寫方法只能存在於具有繼承關係中,重寫方法只能重寫父類非私有的方法。
當上例中 Father類 speak()方法被private時,Son類不能重寫 Father類 speak()方法,此時Son類 speak()方法相當與在Son類中定義的一個speak()方法。
Father類 speak()方法一但被final時,無論該方法被public,protected及默認所修飾時,Son類根本不能重寫 Father類 speak()方法,試圖編譯代碼時,編譯器會報錯。例:
public class Father
{
fianl public void speak()
{
tln("Father");
}
}
public class Son extends Father
{
public void speak()
{
tln("son");
} 寫
}//編譯器會報錯。
Father類 speak()方法被時默認修飾時,只能在同一包中,被其子類被重些,如果不在同一包則不能重寫。
Father類 speak()方法被時protoeted時,不僅在同一包中,被其子類被重些,還可以不同包的子類重寫。
4、重寫和重載在規則上的區別
java中方法重載和重寫的區別和定義 篇三
重載:一個類中有一個方法A,你又在這個類中創建了一個方法B,方法B的名字和A一樣,返回值類型也一樣,但是參數的類型或個數不同,此時B重載了A。
例如: 篇四
public class TestClass1{
public int test(int i){return 1;}
}
public class TestClass2 extends TestClass1{
public int test(int i){return 2;}
}
-
應急演練(多篇)
應急演練預案篇一一、停電發生時的措施:1、接到停電通知的情況下,管理處應事先將停電線路、區域、時間、電梯使用以及安全防範要求等情況通知相關業主,並在主要出入口發佈停電通告;同時,工程部應做好停電前的應變工作。2、在沒有接到任何通知、突然發生停電的情況下...
-
黨課:正己 正紀 正績(黨紀學習教育)
黨紀學習教育微黨課:正己正紀正績黨紀學習教育專題黨課:正己正紀正績同志們:根據黨紀學習教育工作安排,今天我結合近期學習收穫和感想給大家上一堂黨課。接到這個任務時,我一直在思考從哪個方面展開,既要做到結合自身實際,又要讓大家在聽課之餘有所收穫,最終我決定從自...
-
以“五星”創建夯實黨建基礎 助推鄉村振興戰略加快實施
以“五星”創建夯實黨建基礎助推鄉村振興戰略加快實施X市緊緊圍繞貫徹落實全省抓黨建促鄉村振興暨“五星”支部創建工作推進會精神,以務實舉措推動“五星”支部創建深入開展,爲抓黨建促鄉村振興提供堅強支撐。一是建機制,保實效。建立健全各專班指導督促、定期評...
-
大學生寒假社會實踐(精品多篇)
大學生寒假社會實踐篇一光陰似箭,時光如梭,一轉眼我的社會實踐就快結束了,還記得剛來參加社會實踐的時候只是個很迷茫的大學生,懂得的也只是書本上的理論知識,而如今,經過短短的護士社會實踐,我已經能夠運用理論知識來完成實際操作了,各方面能力都得到了很大的提高,爲畢...