方法重載和方法重寫的區別是什麼精品多篇
重載的規則 篇一
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、親愛的寶貝,新的一年已經來,希望寶貝你能夠健康快樂成長!3、新的門神,新的對聯,新的燈籠,新的氣象!嘻嘻,新年新春,我的問候依舊、牽掛依舊、...
-
面試通知新版多篇
在充滿活力,日益開放的今天,我們需要用到通知的情形越來越多,通知是一種下行性常用公文,其使用不受機關級別的限制,可用於發佈規章、轉發公度文,佈置工作、傳達事項等。為了讓您在寫通知時更加簡單方便,熟讀唐詩三百首,不會作詩也會吟,如下是勤勞的編輯幫大家找到的面試...
-
工薪族的有效理財方法新版多篇
招積少成多堅持理財篇一在金融市場中,最重要的理財理由是——資本永遠有回報。即使你曾經是一個數學成績不及格的人,或者你對於數字非常不敏感,甚至看見財務報表就頭暈——但你如果準備今天就開始個人理財計劃,其實仍然有辦法。建議每個工薪族都應該有記賬的習慣,做...
-
婚宴祝酒詞【多篇】
婚宴祝酒詞篇一尊敬的各位朋友,各位來賓,大家中午好!陽光明媚,歌聲飛揚,歡聲笑語,天降吉祥,在這春風盪漾、生機勃發、大吉大利的日子裏,在這天地之合的喜慶之時,我們喜酒相逢,相聚在這XXXX大酒店,歡聚在這鮮花簇擁、喜慶濃郁的宴會大廳,共同為XXX先生和XXX小姐舉行新婚禮宴...