Java中的方法签名是否包含其返回类型?

Java类/接口中的方法签名是否包括其返回类型?


例:


Java是否知道这两种方法之间的区别:


public class Foo {

    public int  myMethod(int param) {}

    public char myMethod(int param) {}

}

还是仅重要的方法名称和参数列表?


当年话下
浏览 723回答 3
3回答

MMTTMM

从Oracle Docs报价:定义:方法声明的两个组成部分包括方法签名 -方法的名称和参数类型。由于对问题进行了编辑以包括以下示例:public class Foo {    public int  myMethod(int param) {}    public char myMethod(int param) {}}不,编译器不会知道它们之间的区别,因为它们的签名myMethod(int param)是相同的。第二行:    public char myMethod(int param) {}会给你带来错误:方法已经在class中定义了,这进一步确认了上面的声明。

慕娘9325324

Java中的类方法签名是否包含返回类型?在Java中不是,但在此JVM中却可以,这可能导致明显的混乱。Java中的接口方法签名是否包含返回类型?与类方法相同。还是只有方法名称和参数列表?Java的方法名称和参数类型。例如,参数注释和名称无关紧要。

拉莫斯之舞

在字节码级别,“返回类型”是方法签名的一部分。考虑一下public class Test1  {    public Test1 clone() throws CloneNotSupportedException {        return (Test1) super.clone();    }}在字节码中有2个clone()方法public clone()LTest1; throws java/lang/CloneNotSupportedException public clone()Ljava/lang/Object; throws java/lang/CloneNotSupportedException 它们仅在返回类型上有所不同。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java