Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

When and when not to use static variables?

 
Nikolas Bernadel
Greenhorn
Posts: 10
Chrome Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Let's say I plan on instantiating one instance of a Car object. Since there's only ever going to be one instance of Car, does it matter if the variables within it are static?
 
Jayesh A Lalwani
Rancher
Posts: 2756
32
Eclipse IDE Spring Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Any member variables in singleton objects can cause problems, whether they are static or not. If your singleton Car object is being called by multiple threads, and any of those variables store information that is relevant to one thread, then you will run into concurrency issues
 
Campbell Ritchie
Sheriff
Posts: 48440
56
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes, it does matter. You should, a a general rule, avoid things static unless you have a good reason to make them static. If the fields belong to the object, they belong to the object, and that means not static.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic