【发布时间】:2012-05-22 07:29:04
【问题描述】:
如果你实现了一个接口,编译器会要求你提供这些方法的实现。但是在调用重写的 clone() 方法的情况下,编译器如何知道在类声明中没有提到特定的接口(在这种情况下是 Cloneable)。编译器如何将此映射告诉用户 CloneNotSupported ?它与后期绑定有关吗?
我认为 JVM 有关于方法区域中每个类的信息,例如它正在扩展哪些类以及它正在实现哪些接口。所以调用 clone() 方法将检查那些存储的关于类的元数据并发现Cloneable 不在那个接口列表中?这是接近正确答案的地方吗?
【问题讨论】:
标签: java oop late-binding