Relates :
|
This program compiles: class T<X extends T<X>> { private int t = 123; { X x = null; x.t = 456; // X inherits private member t? Not according to JLS } } According to the JLS 4.4 (Type Variables) the members of a type variable are the same as the intersection type 4.9 (Intersection Types), meaning that this is equivalent: class T { private int t = 123; { class X extends T {} X x = null; x.t = 456; } } This program doesn't compile. ###@###.### 2005-03-28 19:33:39 GMT
|