import static和import的区别?
import static和import的区别?
------》解释
静态导入是JDK1.5中的新特性。一般我们导入一个类都用 import com.....ClassName;而静态导入是这样:import static com.....ClassName.*;这里的多了个static,还有就是类名ClassName后面多了个 .* ,意思是导入这个类里的静态方法。当然,也可以只导入某个静态方法,只要把 .* 换成静态方法名就行了。然后在这个类中,就可以直接用方法名调用静态方法,而不必用ClassName.方法名 的方式来调用。
这种方法的好处就是可以简化一些操作,例如打印操作System.out.println(...);就可以将其写入一个静态方法print(...),在使用时直接print(...)就可以了。
但是这种方法建议在有很多重复调用的时候使用,如果仅有一到两次调用,不如直接写来的方便。
--------》应用场景
是的这样做是让程序员引用方法或者属性更加方便:
如我们在编写Junit测试用例时,都要使用assertEquals这个方法,如果我们不静态导入
import static org.junit.Assert.*;那么所有的测试用例中的assertEquals方法都必须些为:
Assert.assertEquals,那么这就太冗余了。
因此就像1楼所说的多次重复使用建议静态导入,否则还有可能引起混淆,并且这样的做法并不符合面向对象的程序设计。
参考 http://topic.csdn.net/u/20081016/11/58d52adf-57a3-4750-a5c1-d877a2db3965.html