[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-users] One target for intertype declarations

I'll dig up a canonical example from my Java Cert book when I get a sec...

Nick
--- Eric Bodden <eric@xxxxxxxxx> wrote:

>  
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Nicholas Lesiecki wrote:
> >> Whoops, sorry, missed the modifier. Of course you are right. I
> >> also consider that as a possible place for improvement.
> > 
> > Actually, there would be two copies of the field even if the
> > modifier were "public". Variables, unlike methods, are not
> > overridden. They can be shadowed, but you can still access both
> > copies on a given
> > object.   
> 
> Interesting. That's really new to me. I always thought inheritance
> would work the normal way for fields as well. So how would one access
> a field that is declared in a superclass when you have the very same
> declaration in the subclass as well (a shadow)? By a cast?
> 
> class Super { public Type field; }
> class Sub extends super { public Type field; }
> 
> class Foo {
> 	void someMethod {
> 		Super s = new Sub();
> 		//is s.field here the field of Sub or Super?
> 		Sub sub = (Sub) s;
> 		//is s.field here the field of Sub or Super?
> 	}
> }
> 
> Now *I* am confused ;-)
> Eric
> 
> - -- 
> Eric Bodden
> Chair I2 for Programming Languages and Program Analysis
> RWTH Aachen University
> 
> -----BEGIN PGP SIGNATURE-----
> Version: PGP 8.0.3
> 
> iQA/AwUBQaQxZswiFCm7RlWCEQJCQgCeP6BpBQucceA4Q0w3ztf4RfzzFhQAnRTI
> dYZmicZ8dhZuyLroWLGUWETV
> =uEXG
> -----END PGP SIGNATURE-----
> 
> 
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> http://dev.eclipse.org/mailman/listinfo/aspectj-users
>