aspose file tools*
The moose likes Beginning Java and the fly likes Understanding static reference to new object Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Understanding static reference to new object" Watch "Understanding static reference to new object" New topic
Author

Understanding static reference to new object

Mark O' Sullivan
Ranch Hand

Joined: Aug 17, 2009
Posts: 160
Hi,
I'm a bit confused about the use of the static keyword in the following case:
In 1 class I see this declared at the top of the class say called Data:

in constructor of same class:

What exactly does above do? I know the general stuff about:
(1) making a static reference to an object at start of class.
(2) making a static reference to a static method and initializing variables there.
I understand that is a static reference and only 1 copy exists for the class, but in the constructor is 1 creating a new object each time it's called for this static reference? Is there a point to this? Any help much appreciated as I find this confusing.
Thanks.

Francisco Montes
Ranch Hand

Joined: Sep 30, 2009
Posts: 30
What i see here is that the value of the static variable (for which, indeed, there is only one copy at class level) will always be changed everytime a new instance of that class is created.

Like you said, maybe it is not so useful to do something like that. Then again, maybe it is for that particular project. :-)

SCJP 1.6
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 38357
    
  23
It might be better to initialise a static variable like that in a static initializer block.
John de Michele
Rancher

Joined: Mar 09, 2009
Posts: 600
Campbell:

Agreed. I would also argue that the original code is an example of how not to use static variables.

John.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Understanding static reference to new object