2014-02-10 78 views
-1

假設你有一個重載的方法。簽名是否包含返回類型?如果不是,爲什麼?爲什麼方法的簽名不包含返回類型?

+1

給出一個樣本方法? –

+0

[爲什麼方法返回類型不包含在方法簽名中?](http://stackoverflow.com/questions/13314316/why-is-the-return-type-of-method-not-包含在方法中的簽名) – rocketboy

回答

1

Oracle Definition

定義:方法聲明的其中兩個組件包括 方法簽名方法的名稱和參數類型。

然後方法簽名包含方法名稱和參數列表只有不是返回類型。

public    String   myMethod(String myInput) 

^access modifier ^return type {^method name ^parameter list} 

裏面{ }部分是方法簽名。

+0

是的。我的問題是爲什麼方法簽名不包含返回類型?這不是該方法的組成部分嗎? – priya

+0

@priya號方法簽名不包含返回類型 –

+0

我的問題是爲什麼? – priya

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

相關問題