How to use Java static keyword
Description
A static class member can be used independently of any object of that class.
A static member that can be used by itself, without reference to a specific instance.
Syntax
Here shows how to declare static
method and static
variable.
/*from w w w .j a v a2s . co m*/
static int intValue;
static void aStaticMethod(){
}
Restrictions
Methods declared as static have several restrictions:
- They can only call other static methods.
- They must only access static data.
- They cannot refer to this or super in any way.
All instances of the class share the same static variable. You can declare a static block to initialize your static variables. The static block gets only called once when the class is first loaded.
Example
The following example shows a class that has a static method
public class Main {
static int a = 3;
static int b;
//from w w w .j a v a2 s.co m
static void meth(int x) {
System.out.println("x = " + x);
System.out.println("a = " + a);
System.out.println("b = " + b);
}
public static void main(String args[]) {
Main.meth(42);
}
}
The output:
Example 2
The following example shows a class that has the static variables.
public class Main {
static int a = 3;
static int b;
}
We can reference the static variables defined above as follows:
Main.a
Example 3
The following example shows a class that has a static initialization block.
public class Main {
//from w w w. j av a 2 s . c o m
static int a = 3;
static int b;
static {
System.out.println("Static block initialized.");
b = a * 4;
}
}