Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!news.albasani.net!newsreader4.netcologne.de!news.netcologne.de!nx01.iad01.newshosting.com!newshosting.com!69.16.185.11.MISMATCH!npeer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!postnews.google.com!k1g2000vbz.googlegroups.com!not-for-mail From: "giuseppe.on.usenet" Newsgroups: comp.lang.java.programmer Subject: super Date: Sun, 18 Sep 2011 09:53:52 -0700 (PDT) Organization: http://groups.google.com Lines: 48 Message-ID: <3e87dcf3-6842-41bf-8eb8-0c4181a178a9@k1g2000vbz.googlegroups.com> NNTP-Posting-Host: 62.123.12.178 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: posting.google.com 1316364909 21710 127.0.0.1 (18 Sep 2011 16:55:09 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Sun, 18 Sep 2011 16:55:09 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: k1g2000vbz.googlegroups.com; posting-host=62.123.12.178; posting-account=yPSY1QoAAACMZ51-SS0_t9poa1zrLE1H User-Agent: G2/1.0 X-Google-Web-Client: true X-Google-Header-Order: HUARLECNK X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_5_8) AppleWebKit/534.50.2 (KHTML, like Gecko) Version/5.0.6 Safari/533.22.3,gzip(gfe) Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:8131 /* file: ~/dir1/Parent.java */ package dir1; public class Parent { protected int var = 1; } /* end Parent.java */ /* file: ~/dir2/Child.java */ package dir2; import dir1.Parent; class Child extends Parent { public void test() { System.out.println("var is " + var); } public static void main(String[] args) { Child c = new Child(); c.test(); } } /* end Child.java */ /* file: ~/dir2/GrandChild.java */ package dir2; public class GrandChild extends Child { public void test2() { System.out.println("super.var is " + super.var); System.out.println("var is " + var); } public static void main(String[] args) { GrandChild gc = new GrandChild(); gc.var = 2; Child c = new Child(); gc.test2(); } } /* end GrandChild.java */ When I run dir2.Child, I get: var is 1 which is what I was expecting. When I run dir2.GrandChild, I get: super.var is 2 var is 2 These last two variables have the same value, although I only modified gc.var in GrandChild.java. Why? Thank you.