java重載與重寫的區(qū)別 為何不能通過返回值來區(qū)分重載方法?
為何不能通過返回值來區(qū)分重載方法?在Java中,重載是一個非常重要的特性。對于重載,我們就像用同一個詞來表達許多不同的意思。方法重載的規(guī)則非常簡單,即每個重載方法都必須有一個唯一的參數類型列表,什么是
為何不能通過返回值來區(qū)分重載方法?
在Java中,重載是一個非常重要的特性。對于重載,我們就像用同一個詞來表達許多不同的意思。方法重載的規(guī)則非常簡單,即每個重載方法都必須有一個唯一的參數類型列表,什么是唯一的參數類型,即不同的參數個數、不同的參數類型、不同的參數順序。那么,用返回值來區(qū)分過載法是否可行呢?例如,雖然以下兩個方法的名稱和形式相同,但很容易區(qū)分:Java code void f(){}INTF(){reurn1}只要編譯器能夠根據上下文清楚地判斷語義,例如在int x=f()中,就可以分為重載方法。但是,有時您并不關心方法的返回值,您需要的是方法調用的其他效果。在這種情況下,可以調用該方法并忽略其返回值。那么,如果調用這樣的方法:F();Java如何確定要調用哪個F()?因此,根據重載方法的返回值來區(qū)分重載方法是不可行的。
JAVA中重載可以改變返回值嗎?
是,重載公式:同名的不同參數。只需確保方法名相同,參數不同。至于返回值,您可以更改也可以不更改
方法的重載并不顯式要求相同的返回類型。你可以試試。當發(fā)生重載時,方法名應該相同,但參數類型和編號不同。返回值類型可以相同也可以不同。返回類型不能用作重載函數的區(qū)分標準