服务器之家

服务器之家 > 正文

Java里的static import使用小结

时间:2019-12-21 14:55     来源/作者:junjie

换了工作要把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的美感。

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
返回顶部