John Rose wrote:
> Alex Buckley has been diligently tracking this and dozens of other small
> defects in previous versions of the spec.  The results can be seen in
> the Java SE 7 Edition of the JVM Specification.  This is in JSR 336's
> Final Release (Annex 3) and at
> http://download.oracle.com/javase/cmn/spec_index.html.  It has a modest
> little section called "5.4.5 Method overriding", which documents the
> behavior you are asking about.

Thanks for the link.
 
Maybe I'm misunderstanding what it says, but I'm thoroughly confused by HotSpot 
behavior:

package p1;
class Z { public void foo() { } }

package p2;
class A extends Z { void foo() { } }

package p3;
class C extends A { void foo() { } }

Here A.foo clearly overrides Z.foo and according to my understand of 5.4.5 
C.foo should not override A.foo.

Now the weird part, on HotSpot when C has class file version 51 C.foo does 
override A.foo, but for earlier class file versions it doesn't.

It looks to me as if the spec documents the pre-7 HotSpot behavior.

Regards,
Jeroen

-- 
You received this message because you are subscribed to the Google Groups "JVM 
Languages" group.
To post to this group, send email to jvm-languages@googlegroups.com.
To unsubscribe from this group, send email to 
jvm-languages+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/jvm-languages?hl=en.

Reply via email to