Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #8753

Re: Java casting question

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>

Show all headers | View raw


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 | NextPrevious in thread | Find similar


Thread

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