两个 Java 方法可以具有相同的名称和不同的返回类型吗?
2022-08-31 11:09:13
两个 Java 方法可以具有相同的名称和不同的返回类型吗?方法的返回类型不同,并且它们使用相同的方法名称进行声明。
这是允许的吗?
两个 Java 方法可以具有相同的名称和不同的返回类型吗?方法的返回类型不同,并且它们使用相同的方法名称进行声明。
这是允许的吗?
如果两种方法具有相同的参数类型,但返回类型不同,则不可能。摘自 Java Language Specification, Java SE 8 Edition, §8.4.2。方法签名:
如果两个方法或构造函数(M 和 N)具有相同的名称、相同的类型参数(如果有)(§8.4.4),并且 N 的形式参数类型适应 M 的类型参数后,具有相同的形式参数类型,则它们具有相同的签名。
如果两种方法具有不同的参数类型(因此,它们具有不同的签名),则可能是可能的。它称为重载。
仅当它们接受不同的参数时。如果没有参数,则必须具有不同的名称。
int doSomething(String s);
String doSomething(int); // this is fine
int doSomething(String s);
String doSomething(String s); // this is not