java方法的過載在什麼情況下使用

2021-03-19 18:20:02 字數 4074 閱讀 6589

1樓:匿名使用者

過載更多使用在構造器對於不同引數進行過載,構造器過載會幫助我們實現元素的初始化.這個可以幫助你維護**,如果你又寫其他**,**量還更多.

2樓:君子如水之嬌

java中,可以在同一個類中用相同的名稱定義兩個或者多個方法,但是引數項不同(分為引數型別不同和引數數量不同)。當兩個方法名稱相同而引數項不同時,那麼就認為此方法被過載,而此過程就被稱為"方法過載"。呼叫過載方法時,java使用引數的型別和數量決定實際呼叫過載方法的哪個版本。

過載方法可以具有不同的返回型別,但返回型別本身不足以區分方法的兩個版本。因此過載方法的引數型別或者數量必須不同.

java什麼情況下要用到方法過載?

3樓:我是豆爸爸

方法過載就是一種物件導向的概念。

假設你已經有了一個方法a,去完成某個邏輯或行為。

當你還是需要完成這個a方法所能完成的邏輯或行為,但是為了完成這個行為而需要不同於a方法的引數,那麼你就可以過載一個方法,使用和a同樣的方法名,但是使用不同的引數。

4樓:匿名使用者

java中,可以在同一個類中用相同的名稱定義兩個或者多個方法,但是引數項不同(分為引數型別不同和引數數量不同)。當兩個方法名稱相同而引數項不同時,那麼就認為此方法被過載,而此過程就被稱為"方法過載"。呼叫過載方法時,java使用引數的型別和數量決定實際呼叫過載方法的哪個版本。

過載方法可以具有不同的返回型別,但返回型別本身不足以區分方法的兩個版本。因此過載方法的引數型別或者數量必須不同.

java中為什麼要用方法過載?

5樓:匿名使用者

(1)過載的意義在於擴充套件父類的功能,如果有兩個類a和b,繼承c,那麼在c的方法只需要定義a和b相同的功能,而在各個子類中擴充套件子類具體的實現。

(2)方法過載是指在一個類中定義多個同名的方法,但要求每個方法具有不同的引數的型別或引數的個數。呼叫過載方法時,java編譯器能通過檢查呼叫的方法的引數型別和個數選擇一個恰當的方法。方法過載通常用於建立完成一組任務相似但引數的型別或引數的個數不同的方法。

(3)java的方法過載,就是在類中可以建立多個方法,它們可以有相同的名字,但必須具有不同的引數,即或者是引數的個數不同,或者是引數的型別不同。呼叫方法時通過傳遞給它們的不同個數和型別的引數來決定具體使用哪個方法。

java中為什麼要用方法過載

6樓:匿名使用者

要弄清楚為什麼要用方法過載,就必須知道過載和重寫的區別;下面的資料你可以看看:

java中過載和重寫的區別

首先我們來講講:過載(overloading)

(1) 方法過載是讓類以統一的方式處理不同型別資料的一種手段。多個同名函式同時

存在,具有不同的引數個數/型別。過載overloading是一個類中多型性的一種表現。

(2) java的方法過載,就是在類中可以建立多個方法,它們具有相同的名字,但具

有不同的引數和不同的定義。呼叫方法時通過傳遞給它們的不同引數個數和引數型別

來決定具體使用哪個方法, 這就是多型性。

(3) 過載的時候,方法名要一樣,但是引數型別和個數不一樣,返回值型別可以相同

也可以不相同。無法以返回型別作為過載函式的區分標準。

下面是過載的例子:

package c04.answer;//這是包名

//這是這個程式的第一種程式設計方法,在main方法中先建立一個dog類例項,然後在dog類的構造方法中利用this關鍵字呼叫不同的bark方法。不同的過載方法bark是根據其引數型別的不同而區分的。

//注意:除構造器以外,編譯器禁止在其他任何地方中呼叫構造器。

package c04.answer;

public class dog

void bark()//bark()方法是過載方法

void bark(string m,double l)//注意:過載的方法的返回值都是一樣的,

void bark(int a,string n)//不能以返回值區分過載方法,而只能以「引數型別」和「類名」來區分

public static void main(string args)

void test(byte b)

}public class testoverriding extends base

public static void main(stringagrs)

}這時的輸出結果是1 0,這是執行時動態繫結的結果。

7樓:天府第一寶

護的統一的高度上執行,其功能和具體返回僅僅依賴與傳遞的引數

8樓:匿名使用者

過載的意義在於擴充套件父類的功能,如果有兩個類a和b,繼承c,那麼在c的方法只需要定義a和b相同的功能,而在各個子類中擴充套件子類具體的實現。這是物件導向的設計

java中方法的過載是什麼意思?

9樓:手機使用者

覆蓋是override方法重寫 過載是overload

按照教科書上的定義,過載就是具有相同函式名,返回型別可以不同,引數個數、順序、型別不同的函式。我的理解是過載是發生在兩個或者是更多的函式具有相同的名字的情況下。

重寫就是覆蓋父類的方法,和父類有相同返回型別,引數,甚至是丟擲的異常,重寫方法不能為private,運用中最典型的就是對介面方法的覆蓋。方法的重寫overriding和過載overloading是java多型性的不同表現.

重寫overriding是父類和子類之間多型性的一種表現;如果在子類中定義某方法和其父類有相同的名稱和引數,我們說該方法被重寫 (overriding).子類的物件使用這個方法時,將呼叫子類中的定義,對他而言,父類中的定義如同被"遮蔽"了.

過載overloading是個類中多型性的一種表現;如果在一個類中定義了多個同名的方法,他們或有不同的引數個數或有不同的引數型別,則稱為方法的過載(overloading).過載的方法是能改動返回值的型別.

現例項子:你對比上面看,比如一老爹是木工。兒子繼承老爹也是木工。

老爹有個做櫃子的獨特技術(方法),只需要用到工具錘子和木頭(引數),

兒子根據老爹這個做櫃子的技術延伸出很多種技術,他懶得再起名就也對外宣稱叫做櫃子獨特技術。

1個繼承自老爹,相同的方法名,相同的工具,但有自己的想法,工序有改動。兒子做木工活用到這個技術方法的話就叫重寫。

另外的自創,但也叫做櫃子獨特技術,但用工具不同有:

木頭。(兒子牛,不用錘子照樣做櫃子。。。)

鋸子,木頭。(也是木頭櫃子)

錘子,鐵皮。(鐵皮櫃子)

以上3中為過載。

明白?不明白給我發訊息。呵呵~

10樓:社會你輝哥

方法過載

:方法過載是方法名稱進行重用的一種技術形式,其最主要的特點為: "方法名稱相同,引數的型別或個數不同」, 在呼叫時會根據傳遞的引數型別和個數不同執行不同的方法體。

大白話解釋:你有1000元錢:1.

給你女朋友買10朵玫瑰花。2.給你寵物狗買20袋**。

3.給你自己買2件羽絨服。(方法名稱相同:

都是買。引數型別不同:玫瑰花、**、羽絨服。

個數不同:分別是10朵、20袋、2件)

java中方法過載有什麼條件?方法重寫和方法過載分別有什麼作用?

11樓:匿名使用者

重寫一般用於繼承體現多型應為我們經常會設計一個抽象類來而且確定其基本方法,如person類有work()方法,那麼他的子類teacher 類,預設就有了這個方法但是他的work()方法內容應該具體些所以重寫work()當然這樣設計不太好反正就是這個意思嘛。方法過載就像在teacher類裡面有個eat(string str)還有個eat()。反正這個意思, 至於語法相同點不管重寫還是過載方法名都是相同的,區別忘了呵呵

12樓:匿名使用者

過載涉及同一個類中的痛,名方法,要求方法名相同,引數列表不同,與返回值型別無關。

重寫涉及的是子類和父類之間的同名方法,要求方法名相同,引數列表不同,返回值型別相同(或是其子類)。

C裡什麼是運算子過載?在什麼情況下用

運算子過載 operator 關鍵字,比如你有一個class a a a a b a b 如果在你的class a中沒有定義 operator 建構函式,a b 就會出錯 同理,也可以過載 operator operator operator 等函式,為的就是實現 a ab等自定義型別操作 運算子過...

什麼情況下可以扣工資,公司在什麼情況下可以扣績效工資

違反單位內部管理規定,都可以扣工資。當然,該規定本身不能違法,否則無效。公司在什麼情況下可以扣績效工資 具體要看勞動合同怎麼規定?如果用人單位違法勞動合同,可以打勞動局 12333舉報 或者申請勞動仲裁要求賠償。中華人民共和國勞動法 第五十條 工資應當以貨幣形式按月支付給勞動者本人。不得剋扣或者無故...

企業在什麼情況下需要開收據,什麼情況下需要開付款單

收據的型別含收款收據及付款收據。涉及往來類的收據 不能與收入費用掛鉤 的收據,可以用來做賬 付款收據也可做賬,但計算企業應稅所得時不得在稅前扣除。收據能否入賬,要看收據的種類及使用範圍。收據可分為內部收據和外部收據。外部收據又分稅務部門監製 財政部門監製 部隊收據三種。內部收據是單位內部的自制憑據,...