问题描述
给出以下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 (将#修改为@)