Custom Search

Java: static

The static keyword can be used in three scenarios

  • static variables
  • static methods
  • static blocks of code.

Static variable

A static variable is a variable which belongs to the class and not to object(instance).

Static variables are initialized only once , at the start of the execution . These variables will be initialized first, before the initialization of any instance variables.

A single copy to be shared by all instances of the class.

A static variable can be accessed directly by the class name and doesn't need any object.

Syntax : <class-name>.<variable-name>

Static method

A static methos is a method which belongs to the class and not to the object(instance)

A static method can access only static data. It can not access non-static data (instance variables)

A static method can call only other static methods and can not call a non-static method from it.

A static method can be accessed directly by the class name and doesn't need any object

Syntax : <class-name>.<method-name>

A static method cannot refer to "this" or "super" keywords in anyway

NB main method is static , since it must be be accessible for an application to run , before any instantiation takes place.

Static block

The static block, is a block of statement inside a Java class that will be executed when a class is first loaded in to the JVM

class Test{

static {

//Code goes here

}

}

A static block helps to initialize the static data members, just like constructors help to initialize instance members