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
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.
subject: When and when not to use static variables?