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


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

Re: Assignment or Initialization?

From Knute Johnson <nospam@rabbitbrush.frazmtn.com>
Newsgroups comp.lang.java.programmer
Subject Re: Assignment or Initialization?
Date 2016-02-01 12:31 -0800
Organization A noiseless patient Spider
Message-ID <n8of62$ku9$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>

Show all headers | View raw


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).


-- 

Knute Johnson

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