In laymans terms, what does 'static' mean in Java?

Philip Strong picture Philip Strong · Apr 15, 2010 · Viewed 196.5k times · Source

I have been told several definitions for it, looked on Wikipedia, but as a beginner to Java I'm still not sure what it means. Anybody fluent in Java?

Answer

brettkelly picture brettkelly · Apr 15, 2010

static means that the variable or method marked as such is available at the class level. In other words, you don't need to create an instance of the class to access it.

public class Foo {
    public static void doStuff(){
        // does stuff
    }
}

So, instead of creating an instance of Foo and then calling doStuff like this:

Foo f = new Foo();
f.doStuff();

You just call the method directly against the class, like so:

Foo.doStuff();