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


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

Re: A small exercise

Date 2013-04-21 11:04 +0100
From lipska the kat <"nospam at neversurrender dot co dot uk">
Organization Trollbusters 3
Newsgroups comp.lang.java.programmer
Subject Re: A small exercise
References <exercise-20130420150736@ram.dialup.fu-berlin.de> <R_2dnU9jtOi9Ie_MnZ2dnUVZ7q-dnZ2d@bt.com> <5172e967$0$32109$14726298@news.sunsite.dk>
Message-ID <LvqdnUgkK5sPJO7MnZ2dnUVZ7oydnZ2d@bt.com> (permalink)

Show all headers | View raw


On 20/04/13 20:15, Arne Vajhøj wrote:
> On 4/20/2013 12:02 PM, lipska the kat wrote:
>> On 20/04/13 14:11, Stefan Ram wrote:
>>>    Try to predict the behavior of the execution or compilation
>>>    of the following code!
>>>
>>> public class Main
>>> { final int a; final int b;
>>>    Main(){ this.a = 0; Main.this.b = 0; }
>>>    public static void Main( final java.lang.String[] args )
>>>    { new Main(); }}
>>>
>>>    (I made this observation while programming something else
>>>    using Oracle JDK 7, but I have not read the JLS about it yet.)
>>
>> open-jdk6 and open-jdk7
>>
>> I think that logically, Main.this.b refers to the enclosing *instance*
>> which implies that the class has been instantiated, final fields can
>> only be initialized once in a constructor so trying to (logically)
>> assign a value to a final variable after instantiation is illegal.
>>
>> I think :-|
>>
>> If you remove the final modifier from b then the code compiles, but then
>> you know this already.
>
> My understanding of the question is that it is why a work but not b
> as this and Main.this should be the same.

Yes, this is what I understood.

I just don't think that >>this<< and >>Main.this<< are logically 
equivalent.

 >>this<< refers to the current instance,

 >>Main.this<< refers to the (logically) enclosing instance which 
implies that the >>Main.this.b<<  assignment occurs after instantiation 
which would be illegal which is why the compiler complains.


lipska

-- 
Lipska the Kat©: Troll hunter, sandbox destroyer
and farscape dreamer of Aeryn Sun

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: A small exercise lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-04-20 17:02 +0100
  Re: A small exercise Arne Vajhøj <arne@vajhoej.dk> - 2013-04-20 15:15 -0400
    Re: A small exercise lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-04-21 11:04 +0100
      Re: A small exercise Arne Vajhøj <arne@vajhoej.dk> - 2013-04-26 22:13 -0400
        Re: A small exercise lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-04-27 09:25 +0100
          Re: A small exercise Arne Vajhøj <arne@vajhoej.dk> - 2013-04-27 21:58 -0400
            Re: A small exercise "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> - 2013-04-28 11:34 +0100
              Re: A small exercise Martin Gregorie <martin@address-in-sig.invalid> - 2013-04-28 12:17 +0000
              Re: A small exercise lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-04-28 14:05 +0100
                Re: A small exercise Sven Köhler <remove-sven.koehler@gmail.com> - 2013-04-28 16:14 +0300
                Re: A small exercise lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-04-28 14:54 +0100
                Re: A small exercise Arne Vajhøj <arne@vajhoej.dk> - 2013-04-28 09:57 -0400
              Re: A small exercise Arne Vajhøj <arne@vajhoej.dk> - 2013-04-28 10:14 -0400
  Re: A small exercise Sven Köhler <remove-sven.koehler@gmail.com> - 2013-04-27 22:28 +0300
    Re: A small exercise markspace <markspace@nospam.nospam> - 2013-04-27 13:53 -0700
      Re: A small exercise Arne Vajhøj <arne@vajhoej.dk> - 2013-04-27 21:44 -0400
    Re: A small exercise lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-04-28 10:37 +0100

csiph-web