Understanding static
A static
method can be used by itself. Here shows how to declare static
method.
static void aStaticMethod(){
}
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.
The following example shows a class that has a static method
public class Main {
static int a = 3;
static int b;
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:
x = 42
a = 3
b = 0
The following example shows a class that has the static variables.
public class Main {
static int a = 3;
static int b;
}
The following example shows a class that has a static initialization block
public class Main {
static int a = 3;
static int b;
static {
System.out.println("Static block initialized.");
b = a * 4;
}
}
To call a static method from outside its class, use the following general form:
ClassName.method( )
Here is an example. The static method callme( ) and the static variable b are accessed outside of their class.
class StaticDemo {
static int a = 4;
static int b = 9;
static void callme() {
System.out.println("a = " + a);
}
}
public class Main {
public static void main(String args[]) {
StaticDemo.callme();
System.out.println("b = " + StaticDemo.b);
}
}
Here is the output of this program:
a = 4
b = 9