I havent used a lot of static methods before, but just recently I tend to use more of them. For example if I want to set a boolean flag in a class, or acess one without the need to pass the actual object through classes.
For example:
public class MainLoop { private static volatile boolean finished = false; public void run() { while ( !finished ) { // Do stuff } } // Can be used to shut the application down from other classes, without having the actual object public static void endApplication() { MainLoop.finished = true; } } Is this something I should avoid? Is it better to pass a object so you can use the objects methods? Does the boolean finished counts as a global now, or is it just as safe?
finishedvariable is indeed "global" to the class. Java does not have truly "global" (to everything) variables.