为什么方法的签名不包含返回类型?

时间:2014-02-10 06:08:06

标签: java methods

假设您有一个重载方法。签名是否包含返回类型?如果没有,为什么?

3 个答案:

答案 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将无法知道要调用的方法。这就是为什么重要的是参数列表而不是返回类型。

答案 1 :(得分:1)

来自Oracle Definition

  

定义:方法声明的两个组成部分包括   方法签名 - 方法的名称和参数类型。

然后,方法签名包含方法名称和参数列表而不是返回类型。

public             String         myMethod(String myInput)

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

内部{ }部分是方法签名。

答案 2 :(得分:0)

在方法重载的概念中,返回类型根本不是什么问题。方法名称必须相同。就是这样。

这两种方法都可能有或没有返回类型,或者任何一种方法都可能无效。