import static net.mindview.util.Print.*

来源:互联网 发布:俄罗斯海军现状知乎 编辑:程序博客网 时间:2024/05/18 03:57

  静态导入是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楼所说的多次重复使用建议静态导入,否则还有可能引起混淆,并且这样的做法并不符合面向对象的程序设计。

 

      import static,很多static的东西可以直接用,不过我不认为这是个什么好特性,可能会带来混乱,本来本类的方法直接调用就可以了,现在导入的静态方法和成员也可以直接用了,有的时候就不好分清.

Java code
import static java.lang.System.*;public class Main{ public static void main(String[] args) { out.print("Hello World"); }}


有啥意思呢?

  貌似Thinking In Java,很喜欢这个语法

 

      相信不少人在看《Thinking in Java(Fourth Edition)》的第三章-操作符的时候,Eckel会让大家在环境变量CLASSPATH中加上原书配套的代码目录树的根目录,PS: 由于最近很多人问我拿《Thinking in Java(Fourth Edition)》的Reference Code, 我没办法一个一个地传到你们邮箱,所以我终于把其上传到CSDN,请到以下Link下载,谢谢!


  http://download.csdn.net/source/460970 如果CSDN也没有办法下载, 就上emule搜Thinking in Java 4ed来下吧。

 

http://blog.csdn.net/killercentury/archive/2007/08/23/1756579.aspx

原创粉丝点击