Static Import in Java: New way to Import things in Java!
- By Viral Patel on July 6, 2009
- Java
Static Import is a new feature added in Java 5 specification. Java 5 has been around the corner for some time now, still lot of people who are new in Java world doesn’t know about this feature.
Although I have not used this feature in my work, still it is interesting to know about.
What is Static Import?
In order to access static members, it is necessary to qualify references with the class they came from. For example, one must say:
double r = Math.cos(Math.PI * theta);
or
System.out.println("Blah blah blah");
You may want to avoid unnecessary use of static class members like Math. and System. For this use static import. For example above code when changed using static import is changed to:
import static java.lang.System.out;
import static java.lang.Math.PI;
import static java.lang.Math.cos;
...
double r = cos(PI * theta);
out.println("Blah blah blah");
...
So whats the advantage of using above technique? Only advantage that I see is readability of the code. Instead of writing name of static class, one can directly write the method or member variable name.
Also keep one thing in mind here. Ambiguous static import is not allowed. i.e. if you have imported java.lang.Math.PI and you want to import mypackage.Someclass.PI, the compiler will throw an error. Thus you can import only one member PI.
Happy importing.. :)
Further Reading: Varargs in Java
Get our Articles via Email. Enter your email address.




Why bother importing Math.PI and Math.cos if you don’t save anything in the code ( Math.cos(Math.PI * theta) ?
Thanks for pointing out the error. I have changed the code. (Copy/Paste effect ;-))
Looks like a fun little feature.
I agree, but if in single class there are too many static imports, it will be real difficult to know which function belongs to which class. This will make readability bit diificult.