Java 中方法的签名是否包括其返回类型?
2022-08-31 10:00:21
Java 类/接口中的方法签名是否包括其返回类型?
例:
Java知道这两种方法之间的区别吗:
public class Foo {
public int myMethod(int param) {}
public char myMethod(int param) {}
}
或者可能只有方法名称和参数列表才重要?
Java 类/接口中的方法签名是否包括其返回类型?
例:
Java知道这两种方法之间的区别吗:
public class Foo {
public int myMethod(int param) {}
public char myMethod(int param) {}
}
或者可能只有方法名称和参数列表才重要?
引用自Oracle Docs:
定义:方法声明的两个组成部分包括方法签名 — 方法的名称和参数类型。
由于已编辑问题以包含此示例:
public class Foo {
public int myMethod(int param) {}
public char myMethod(int param) {}
}
不,编译器不会知道区别,因为它们的签名:是相同的。第二行:myMethod(int param)
public char myMethod(int param) {}
会给你可以出错:方法已经在类中定义,这进一步证实了上面的陈述。
Java 中的类方法签名是否包含返回类型?
在Java中,它没有,但在这个JVM中,它确实如此,这可能会导致明显的混乱。
Java 中的接口方法签名是否包含返回类型?
与类方法相同。
还是只有方法名称和参数列表?
Java 的方法名称和参数类型。例如,参数批注和名称无关紧要。