六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 47|回复: 0

import static和import的区别?

[复制链接]

升级  5.67%

59

主题

59

主题

59

主题

举人

Rank: 3Rank: 3

积分
217
 楼主| 发表于 2013-1-27 12:51:14 | 显示全部楼层 |阅读模式
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
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表