今天在看项目代码时,看到一个方法被调用,竟然不是类自己的...很是疑惑...
demo代码如下:
package com.xubao.test.basic;
import static java.lang.Math.sin;
public calss DemoClass(){
public void sayHello(){
System.out.println(sin(0));
}
}
在demo 中, DemoClass 的satHello 方法调用 sin方法,
而sin方法并没有在DemoClass中定义,不是DemoClass的属性,是否是很困惑呢?
在阅读一遍代码,才发现各种玄机.此处使用了import static 关键字,静态导入了Math的sin方法.
在IDE中,跟踪代码,即可跟踪到该方法的声明所在地.
此处便可发现,静态导入降低了代码的可读性,让代码的维护者感到困惑.但确实提高了敲代码的速度.可以减少代码的敲击量.
下面就来讲讲这个静态导入机制,以及它的用法吧.
静态导入: jdk1.5中引入了 import static 语法 来实现静态导入类的静态成员,导入后,可以省略类名,直接调用静态导入类的静态成员.
使用范例如上.
下面说说什么时候使用它最佳:
1.类中调用的比较多,导入的来源很清晰.如Math,其中有很多都是数学上使用的公式
2.类中频繁调用的静态方法,来源数比较少的..比如就一个自己写的Util类,你需要经常调用Util下的静态方法...这时,使用可以方便敲代码.
除此之外,切记不要使用...虽然当你使用的时候,可能少敲了一些代码,但是在维护阶段,维护人员需要花费更多的时间来理解你的代码.
弊大于利.