换了工作要把Java重新捡起来了,这个在大学里用过的语言,虽然不复杂,还是有一些奇怪的地方的。比如static import。
Static import是JDK 1.5中引进的特性,不过读大学那会还真没注意到。它的作用是把静态(static)的方法或者常量import进来。比如:
1
2
3
4
5
6
7
8
9
10
|
import static java.lang.Math.*;
public class HelloWorld {
public static void main(String[] args) {
System.out.println( "Hello World!" );
System.out.println( "Considering a circle with a diameter of 5 cm, it has:" );
System.out.println( "A circumference of " + (Math.PI * 5 ) + " cm" );
System.out.println( "And an area of " + (Math.PI * Math.pow( 2.5 , 2 )) + " sq. cm" );
}
}
|
使用了static import之后,就可以写成:
1
2
3
4
5
6
7
8
9
10
11
|
import static java.lang.Math.*;
import static java.lang.System.out;
public class HelloWorld {
public static void main(String[] args) {
out.println( "Hello World!" );
out.println( "Considering a circle with a diameter of 5 cm, it has:" );
out.println( "A circumference of " + (PI * 5 ) + " cm" );
out.println( "And an area of " + (PI * pow( 2.5 , 2 )) + " sq. cm" );
}
}
|
注意”Math.”和”System.”可以省略掉了。
Static import和import的规则类似,引用的内容不可以有歧义。
使用了static import,代码会变短,增加了可读性,但一定程度上会对代码整体的理解造成困难,因为常量和静态方法看上去像全局变得和全局方法了,有点C++的味道,失去了一些OO的美感。