java怎樣實現重載一個方法

來源:互聯網
上載者:User

標籤:

重載(重新載選方法):

java允許在一個類中,存在多個方法擁有相同的名字,但在名字相同的同時,必須有不同的參數,這就是重載,編譯器會根據實際情況挑選出正確的方法,如果編譯器找不到匹配的參數或者找出多個可能的匹配就會產生編譯時間錯誤,這個過程被稱為重載的解析 。

重載包括:普通方法的重載和構造方法的重載

 

方法:即函數(文中我們統稱之為“方法”),是一個固定的一個程式段,或稱其為一個子程式,它在可以實現固定運算功能。而且,同時還帶有一個入口和一個出口,所謂的入口,就是函數所帶的各個參數,我們可以通過這個入口,把函數的參數值傳入子程式,供電腦處理;所謂出口,就是指函數的傳回值,在程式段執行之後,由此傳回值將值傳回給調用它的程式。

 

通常地,一個類可以有多個重載方法 ,可根據不同的需求來設計類中不同的重載方法。其中,參數個數,類型,甚至不同型別參數的順序等的的不同均為對同一個方法的不同重載。比如,,我們經常見到的String類就是一個及其典型的例子。

 

P.S. 此例也在糾正本人在上次分享經驗時候犯下的一個可笑錯誤。再次查看標題,表示無誤,是重載,沒有寫成重寫。

 

 

方法/步驟

 首先,我們先寫一個完整的例子。這是一個最原始的方法,。以後各個步驟我們陸續進行學習,逐層深入地重載這個方法。

 

 

1、開始呢,我們討論一下存取修飾詞對今天討論內容是否有影響,答案是,存取權限修飾符對方法的重載不影響。也即,它們不是構成不同方法的必要條件。通俗點講,方法的不同和存取修飾詞是否一致沒有任何關係。,如果存取修飾詞不一致,而參數相同(或者都沒有參數)的話,java預設其都為同一種方法,因此編譯無法通過,報錯。

 

 

2、排除了存取修飾詞之後,接下來我們討論一下傳回值的不同是否可以是重載的另一種方式,此處,我們就簡單地舉三個例子,即,傳回值為空白,傳回值為int型二個方法,最後證明,傳回值也不是構成重載方法的必要條件,

 

 

3、 接下來唯一可以區別的就是參數了。我們分情況來練習。第一種,不同的參數,沒錯,不同的參數一定就是不同的方法了,我們可以再試一試,

 

 

4、第3步驟我們說的是不同的參數,並不是對參數的命名的不同,而是指參數類型的不同,我們寫出來讓事實證明一下。,參數類型相同,都為整數類型,但是形參的命名不同,編譯無法通過。

 

5、 還有呢,因參數個數不同而造成的重載。我們可以再寫個例子,1個無參方法,1個int參數方法,兩個int參數方法,

 

 

 

6、到了此時,我們到了重點環節。請問,還有沒有其他類型的不同的重載呢?有的!想象一下,參數種類不同,個數相同,有什麼辦法是之變得不一樣嗎?對的!妳猜對了!是順序不同!順序不同的情況下,依舊是不同的方法,這也就實現重載了。

 

最後,我們總結一下,重載關心的只是參數,有參無參,參數類型不同,參數數量不同,不同類型的參數順序不同,都可以實現方法的重載。

 

 

java怎樣實現重載一個方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.