Provide Best Programming Tutorials

Java static keyword

Static Variables, Constants, and Methods A static variable is shared by all objects of the class. A static method cannot access instance members of the class.

Java static keyword

In this chapter you will learn:

  1. How to declare a static method and use it

  2. Syntax for static keyword

  3. Restrictions for Java static keyword

  4. Example – static methods

  5. Example – static variables

  6. How to use static initialization block

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   ww  w.  j a  v  a  2 s.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;
  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 {
  static int a = 3;

  static int b;

  static {
    System.out.println("Static block initialized.");
    b = a * 4;
  }
}

Leave a Reply

Close Menu