This week's book giveaway is in the Design forum.
We're giving away four copies of Building Microservices and have Sam Newman on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes When and when not to use static variables? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Building Microservices this week in the Design forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "When and when not to use static variables?" Watch "When and when not to use static variables?" New topic

When and when not to use static variables?

Nikolas Bernadel

Joined: Aug 09, 2012
Posts: 10

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
Saloon Keeper

Joined: Jan 17, 2008
Posts: 2674

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

Joined: Oct 13, 2005
Posts: 44048
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.
I agree. Here's the link:
subject: When and when not to use static variables?
It's not a secret anymore!