Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #8753
| From | Travers Naran <tnaran@gmail.com> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Java casting question |
| Date | 2011-10-12 23:40 -0700 |
| Organization | A noiseless patient Spider |
| Message-ID | <j7614l$ehf$1@dont-email.me> (permalink) |
| References | <c6d9d3ed-7892-40e0-ac9a-abb957b93241@e9g2000prg.googlegroups.com> |
On 12/10/2011 6:27 PM, Chad wrote: > AAA > YYY > AAA > ZZZ > > > The question is about > > Object obj = new Y(); > ((X) obj).f2(); > > > How come YYY, but not XXX, gets printed on the second line? Both f1() > and f2() are in class X. So shouldn't f1() also have been casted to > (type) X? You're not understanding what casting in Java means, nor how Java implements methods. You seem to be thinking that (X)obj _converts_ obj into an instance of X complete with X's methods. That is incorrect. Obj will _always_ remember it is Y and any method calls on Obj will go to Y's methods first. Casting can _never_ change that. Ever.
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Find similar
Java casting question Chad <cdalten@gmail.com> - 2011-10-12 18:27 -0700
Re: Java casting question Arne Vajhøj <arne@vajhoej.dk> - 2011-10-12 21:36 -0400
Re: Java casting question Lew <lewbloch@gmail.com> - 2011-10-12 19:05 -0700
Re: Java casting question Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-10-13 10:24 +0000
Re: Java casting question Travers Naran <tnaran@gmail.com> - 2011-10-12 23:40 -0700
csiph-web