Monday, 16 November 2015

java static import

First let us consider about "java import " statement and how it can work before going to static import. Let us consider the two import statements,

1) import java.mypack.class A
2) import java.mypack.

In the statement(1), we can use the class A without referring the entire package throw out your program directly.For example we can create an object class A as: class A obj = new class A();

But in statement(2), we can use all the classes and methods that contain in that package.

But there is another case, one use the class or method in package without importing package like.

package.class A obj = new package.class A();

  It becomes so tedious or ugly. This situation is also comes under static member also let us consider.

double r = Math.cos(Math.PI*theta); Here the method cos is static method in the class Math. This can be written as

double r = cos(PI*theta);This is the case where static import comes in java. Can be written as

import static java.lang.Math.PI;
import static java.lang.Math.cos;

What is static import ?

                             static import is a keyword introduced in java to access class members like fields and methods directly without referring their class name. The java 5.0 adds this feature to java. Let us see in more details

A static class is a class that can be declared as

static public class A

// class members


The members of that class can be accessed by using as


This can also be happen even in packages also. For example in java.lang package we have the Math class which is static in nature.If you want to access any of  the methods we can write as

Math.sqrt(), Math.pow()....etc

The most known statement is "System.out.println()" Here the System is static class, so the method "out" can be used as System.out( that is class name.method ).

Import Keyword:-  When your using this keyword in your program it imports all the non static methods into your program but not static methods. So if any one want static class or static members one can use as described above.

                         But this can be eliminated in JDK 5.0 specification by introducing a "static import" features and if one can use the static import instead of import it can works as follows

static import java.lang.System.out;

       Then you can use as
out.println("........................your message here............................");

When using static import, it is possible to refer to static members directly by their name, without having to qualifying them with the name of their class.                       

The following examples show how static import cab be used

import static java.lang.System.*;
import static java.lang.Math.*;
class StaticImportDemo
    public static void main(String args[])
        out.println("In println() "+PI);


Post a comment

Find Us On Facebook

Contact Us


Email *

Message *

C Programming


C++ Tutorial


Java Tutorial


software engineering


MS Office


Database Management