机制是如何通过继承影响/隐藏字段的机制,并且稍后解析了JVM规范的一部分?我知道它是part of the Java spec,可以在许多博客文章和SO问题中找到。但是,当我真正查看field resolution的JVM规范时,“隐藏”或“阴影”这些词不会出现在pdf of the JVM spec的任何位置。Java继承的字段阴影和JVM?
我问这是因为我正在编写自己的JVM,并发现这个字段映射是字节码/ VM的属性,而不仅仅是Java编译器或Java语言的一部分。我想知道这应该在虚拟机级别实施的适当的权威方式。当然,这个重要的JVM的(错误?)功能需要在某个地方正式记录吗?
虽然我指的是继承字段的阴影。字段名称出现在字节码中。而且我发现了这个事实,因为我的DIY JVM(没有处理这个阴影)对于相同的字节码v.s获得了不同的结果。在真正的JVM上执行它。而且,当我在我的DIY JVM中混入了一些类似继承领域的阴影逻辑时,他们开始在我的单元测试中吐出相同的结果。我非常肯定,虚拟机必须要处理的是继承字段阴影。 – 2013-03-23 03:09:15
@Li对于我来说,现场分辨率的规格看起来非常简单。你在哪里遇到问题? – Antimony 2013-03-23 03:11:02
您是否有规范未涵盖的任何代码示例?我认为你可能会对这样的事实感到困惑,即虽然字段是被继承的,但它们并不像方法那样被虚拟地调度。 – Antimony 2013-03-23 03:20:02