Some data belongs to the whole class, not to one object, like a counter of how many students were created. A static field has one copy shared by every object, and a static method can be called without creating an object at all. Use it for shared counters, constants and helper methods like Math.max. Do not make something static just to avoid creating an object, because static state is shared and hard to test.