java的static import

转载:

jdk1.5 static import
static import
static import就是允许在代码中直接引用别的类的static变量和方法(当然,在权限许可范围内),我们可以简单的把它当成import的延续。
它的语法如下:
import static CLASS_NAME.MEMBER_NAME;
或者 import static CLASS_NAME.×;


事实上,Tiger引入static import最主要考虑到两个需要,第一个就是对一些工具性的,常用的静态方法进行直接引用。
比如,java.lang.Math里的一大堆数学方法abs,exp等。
第二个就是对常数变量进行直接引用,其中也包扩对enum的直接引用(参考上一篇文章Season的例子)
[code]
//StaticImportTest.java
import static java.lang.Math.*;

public class StaticImportTest{

public static void main(String arsg[]){
System.out.println("1 + 1 ="+(1+1));
System.out.println("abs(-1)="+abs(-1));
System.out.println("exp(1.5)="+exp(1.5));
System.out.println("Pi = "+PI);
System.out.println("E = "+E);

}

}
[/code]
这样的代码不仅省却了Programmer的劳动,在可读性上也是有所增强。

static import的限制和import也基本一样,就是不能出现二义性。
另外,static import不支持先import类,然后import static 类.*(不加package)的形式

[code]
import??java.util.*;
import static Calendar.*;
......
[/code]
就算在同一个包也是如此。

值得注意的是,过多的static import也许可能影响程序的可读性,如:
[code]
//StaticImportTest2.java
import static java.lang.Integer.parseInt;
import static java.lang.Double.*;

public class StaticImportTest{

public static void main(String arsg[]){
String iv = "1239";
String dv = "123.3456";
System.out.println(iv+":"+parseInt(iv));
System.out.println(dv+":"+parseDouble(dv));
System.out.println("Double's MaxValue is:"+MAX_VALUE );

}
[/code]
虽然能编译通过,但是却很容易混绕读者视线。
 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值