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


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

Re: Assignment or Initialization?

From Eric Sosman <esosman@comcast-dot-net.invalid>
Newsgroups comp.lang.java.programmer
Subject Re: Assignment or Initialization?
Date 2016-02-01 16:03 -0500
Organization A noiseless patient Spider
Message-ID <n8oh2r$svq$1@dont-email.me> (permalink)
References <assignment-20160201130855@ram.dialup.fu-berlin.de> <n8oa1b$tq9$2@dont-email.me> <n8ockg$b4a$1@dont-email.me> <n8of62$ku9$1@dont-email.me>

Show all headers | View raw


On 2/1/2016 3:31 PM, Knute Johnson wrote:
> On 2/1/2016 11:47, Eric Sosman wrote:
>> On 2/1/2016 2:03 PM, 4ndre4 wrote:
>>> On 01/02/2016 12:23, Stefan Ram wrote:
>>>
>>> [...]
>>>> final int i;
>>>> i = 3;
>>>
>>> This is illegal.
>>>
>>> final int i = 3;
>>>
>>> is the correct form: initialization. You can't declare a final variable
>>> and THEN assign a value to it, unless you are in a constructor, in which
>>> case it's still an initialization.
>>
>>      What you say is true (I think) if `i' is a class member.
>> But it's untrue for local variables, where constructs like
>>
>>              final boolean leftClick;
>>              switch (mouseEvent.getButton()) {
>>                 case MouseEvent.BUTTON1:
>>                    leftClick = true;
>>                    break;
>>                 case MouseEvent.BUTTON3:
>>                    leftClick = false;
>>                    break;
>>                 default:
>>                    // Unidentifiable mouse button: Ignore.
>>                    return;
>>              }
>>
>> ... work exactly as one would expect: `leftClick' is given only
>> one value and is thereafter immutable, but the value comes from one
>> of two (in this case) assignment statements.
>>
>>      Whether this is counts as an "assignment" or as an "initialization"
>> is not something I lose sleep over.
>>
>
> public class test {
>      final int i;
>
>      public test() {
>          i = 666;
>      }
> }
>
> is perfectly legal and used all the time (by me anyway).

     That's the case 4ndre4  described: Initialization of a final
field in a constructor.  But 4ndre4 seemed to be saying that it's
the only legal case, and my point was that there are others.

-- 
esosman@comcast-dot-net.invalid
"Don't be afraid of work. Make work afraid of you." -- TLM

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


Thread

Re: Assignment or Initialization? 4ndre4 <4ndre4@4ndre4.com.invalid> - 2016-02-01 19:03 +0000
  Re: Assignment or Initialization? Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-02-01 14:47 -0500
    Re: Assignment or Initialization? Knute Johnson <nospam@rabbitbrush.frazmtn.com> - 2016-02-01 12:31 -0800
      Re: Assignment or Initialization? Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-02-01 16:03 -0500
        Re: Assignment or Initialization? Jerry Stuckle <jstucklex@attglobal.net> - 2016-02-01 19:52 -0500
          Re: Assignment or Initialization? Arne Vajhøj <arne@vajhoej.dk> - 2016-02-01 20:46 -0500
          Re: Assignment or Initialization? Wayne <nospam@all.invalid> - 2016-02-01 23:39 -0500
            Re: Assignment or Initialization? Jerry Stuckle <jstucklex@attglobal.net> - 2016-02-02 09:14 -0500
      Re: Assignment or Initialization? 4ndre4 <4ndre4@4ndre4.com.invalid> - 2016-02-02 19:25 +0000
  Re: Assignment or Initialization? Eric Douglas <e.d.programmer@gmail.com> - 2016-02-01 13:13 -0800
    Re: Assignment or Initialization? 4ndre4 <4ndre4@4ndre4.com.invalid> - 2016-02-02 19:26 +0000
  Re: Assignment or Initialization? Arne Vajhøj <arne@vajhoej.dk> - 2016-02-01 20:55 -0500
    Re: Assignment or Initialization? 4ndre4 <4ndre4@4ndre4.com.invalid> - 2016-02-02 19:29 +0000
      Re: Assignment or Initialization? Eric Douglas <e.d.programmer@gmail.com> - 2016-02-02 11:44 -0800
        Re: Assignment or Initialization? Lew <lewbloch@gmail.com> - 2016-02-02 13:16 -0800
      Re: Assignment or Initialization? Lew <lewbloch@gmail.com> - 2016-02-02 13:15 -0800
      Re: Assignment or Initialization? Arne Vajhøj <arne@vajhoej.dk> - 2016-02-02 18:13 -0500
      Re: Assignment or Initialization? Silvio <silvio@internet.com> - 2016-02-03 12:10 +0100
        Re: Assignment or Initialization? Eric Douglas <e.d.programmer@gmail.com> - 2016-02-03 05:14 -0800
          Re: Assignment or Initialization? Lew <lewbloch@gmail.com> - 2016-02-03 13:39 -0800
  Re: Assignment or Initialization? Lew <lewbloch@gmail.com> - 2016-02-02 10:32 -0800
    Re: Assignment or Initialization? 4ndre4 <4ndre4@4ndre4.com.invalid> - 2016-02-02 19:22 +0000
  Re: Assignment or Initialization? Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2016-02-03 09:03 -0800

csiph-web