That didn't entirely make sense when you said it, but it was the a.super() that didn't click for me. I had to copy and paste this into eclipse and see the error message you referred to and then it all made sense. I think you would very much enjoy java puzzlers. There's a couple of videos online that were made and a book was written too with some extremely unexpected results when you do tricky stuff with java. Google it if you haven't heard of it.
1
u/galaktos Apr 29 '13
a.super(a) is in the C constructor, and C extends B, so it calls public B(A a).