假設你有一個重載的方法。簽名是否包含返回類型?如果不是,爲什麼?爲什麼方法的簽名不包含返回類型?
-1
A
回答
1
定義:方法聲明的其中兩個組件包括 方法簽名方法的名稱和參數類型。
然後方法簽名包含方法名稱和參數列表只有不是返回類型。
public String myMethod(String myInput)
^access modifier ^return type {^method name ^parameter list}
裏面{ }
部分是方法簽名。
0
在方法重載返回類型的概念是完全不重要的。方法名稱必須相同。而已。
這兩種方法可能有或沒有返回類型,或者任何一種方法都可能失效。
3
簽名不包含返回類型。 爲什麼?我會舉一些例子:假設你有兩種方法:
int someMethod(int x) {...}
double someMethod(double x) {...}
如果你試圖調用該方法
System.out.println(someMethod(10));
的參數類型會進行評估,以調用正確的方法。現在讓我們假設你有:
int someMethod(int x) {...}
double someMethod(int x) {...}
當你稱呼其爲someMethod(10)
,Java將不知道叫什麼方法。這就是爲什麼重要的是參數列表而不是返回類型。
+0
此Java行爲不是很靈活,請參閱我在Swift語言中的示例http://stackoverflow.com/a/28079432/407986 – dVaffection
相關問題
- 1. 爲什麼方法返回類型不包含在方法簽名中?
- 2. 爲什麼方法updateApplicationContext返回「Payload包含不受支持的類型」。
- 3. 返回類型爲void的方法返回的是什麼?
- 4. 爲什麼與該類名稱相同的方法不需要返回類型?
- 5. 爲什麼區分返回值的方法和不包含的方法?
- 6. 帶有不同簽名和返回類型的方法重載
- 7. 爲什麼區分方法時不考慮返回類型?
- 8. 爲什麼ICollection不包含Add方法?
- 9. 爲什麼包含的佈局標籤返回null?
- 10. 爲什麼返回的JSON包含一個 '對象' 標籤
- 11. 爲什麼dot語法不能用於返回類型爲instancetype的方法?
- 12. 爲什麼返回類型的方法是抽象的?
- 13. 爲什麼我的方法期待錯誤的返回類型?
- 14. 爲什麼在類方法中什麼都不返回?
- 15. 爲什麼錯誤 「System.String不包含命名方法 '的appendChild'」
- 16. 爲什麼方法表只包含基類的虛方法?
- 17. 爲什麼使用通用類型的泛型返回方法不正確?
- 18. 爲什麼glob`* [!t] *`返回名稱包含`t`的文件?
- 19. 爲什麼MessageBox類的顯示方法不包含幾何?
- 20. Groovy - 沒有返回類型的方法簽名
- 21. 爲什麼添加返回類型的空隙返回方法導致MissingMethodException
- 22. 從Task的非異步方法返回什麼作爲返回類型?
- 23. 爲什麼api方法名稱不能包含下劃線?
- 24. 爲什麼在父方法中返回子類名稱?
- 25. 爲什麼部分方法只能有void返回類型?
- 26. 爲什麼.Net Framework基本類型不包含IConvertible方法的實現?
- 27. 如何不返回任何返回類型爲int的方法
- 28. 泛型作爲方法返回類型
- 29. 方法,返回匿名類型C#
- 30. 匿名方法返回類型鑄造
給出一個樣本方法? –
[爲什麼方法返回類型不包含在方法簽名中?](http://stackoverflow.com/questions/13314316/why-is-the-return-type-of-method-not-包含在方法中的簽名) – rocketboy