Java Static Import

Java Static Import

First lets understand what does “java import” does to your java program!Conseder the java import statements:
1) import package.ClassA;
2) import package.*;

Java statement(1) gives you a license to use Classa inside the whole program without the package reference. That is you can use like ClassA obj = new ClassA(); or ClassA.getStatic(); Java statement (2) allows you to use all the classes that belong the imported package in the above manner. That is without the package reference.

If you don’t use import statement,you can still use the classes of that package. But you should invoke it with package reference wherever you use.

That is like, package.ClassA obj = new package.ClassA(); - looks very ugly isn’t it?

Now coming to the static import part. Like the above ugly line we have been unknowingly using (abusing) the java static feature.

Consider the java example:double r = Math.cos(Math.PI*theta);
How about writing the same java code likeL double r = cos(PI*theta); - looks more readable right?

This is where static import in java comes to help you.

Import static java.lang.Math.PI;
Import static java.lang.Math.cos;
Do the above static imports and then you can write it in the more readable way!

Java Static import

The normal import declaration imports classes form packages, so that they can be used without package reference. Similarly the static import declaration imports static imports static members from classes and allowing them to be used without class reference.

Now, we hava got an excellent java feature from java 1.5. Ok now we shall see how we can abuse this!

Can I static import everything?

扫描二维码关注公众号,回复: 2303927 查看本文章

Like,import static java.lang.Math.*;- yes it is allowed! Similarly you do for class import.

Please don’t use this feature, because over a period you may not understand which static method or static inside the java program. The program may become unreadable.
General guiderlines to use static java import:
1) Use it to declart local copies of java constants
2) When you require frequent access to static memrs from one or two java classes

猜你喜欢

转载自blog.csdn.net/qq_36336003/article/details/79421056