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:

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
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.