如何解决用Java实现接口-为什么javap输出两个具有相同签名但返回类型不同的方法?
给出以下Java代码:
interface I {
Object getId();
}
class A implements I {
public Long getId() {
return null;
}
}
javac I.java A.java
javap I.class
javap A.class
Compiled from "I.java"
interface I {
public abstract java.lang.Object getId();
}
Compiled from "A.java"
class A implements I {
A();
public java.lang.Long getId(); <--- (1)
public java.lang.Object getId(); <--- (2)
}
问题是为什么反汇编输出中存在两种具有相同签名(1)和(2)的方法? 具有两个具有相同签名的方法-JLS不允许这样做吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。