zoukankan      html  css  js  c++  java
  • 动态导入(import)和静态导入(import)的区别

    import static静态导入是JDK1.5中的新特性。一般我们导入一个类都用 import com.....ClassName;而静态导入是这样:import static com.....ClassName.*;这里的多了个static,还有就是类名ClassName后面多了个 .* ,意思是导入这个类里的静态方法。当然,也可以只导入某个静态方法,只要把 .* 换成静态方法名就行了。然后在这个类中,就可以直接用方法名调用静态方法,而不必用ClassName.方法名 的方式来调用。 

    这种方法的好处就是可以简化一些操作,例如打印操作System.out.println(...);就可以将其写入一个静态方法print(...),在使用时直接print(...)就可以了。 

    但是这种方法建议在有很多重复调用的时候使用,如果仅有一到两次调用,不如直接写来的方便 

    example:

    在Java 5中,import语句得到了增强,以便提供甚至更加强大的减少击键次数功能,虽然一些人争议说这是以可读性为代价的。这种新的特性成为静态导入。

    当你想使用static成员时,可以使用静态导入(在API中的类和你自己的类上,都可以使用该特性)。下面是静态导入前后的代码实例:

    在静态导入之前:

    1. public class TestStatic { 
    2.     public static void main(String[] args) { 
    3.         System.out.println(Integer.MAX_VALUE); 
    4.         System.out.println(Integer.toHexString(42)); 
    5.     } 
    6. }
    在静态导入之后:
     
    1. import static java.lang.System.out; 
    2. import static java.lang.Integer.*; 
    3.  
    4. public class TestStaticImport { 
    5.     public static void main(String[] args) { 
    6.         out.println(MAX_VALUE); 
    7.         out.println(toHexString(42)); 
    8.     } 
    9. }
    两个类都产生相同的输出:
    1. 2147483647 
    2. 2a

    1、虽然该特性通常称为“静态导入”,但语法必须是import static,后面跟你想导入的static成员的完全限定名称,或者通配符。在本例中,我们在System类的out对象上进行静态导入。

    2、在本例中,我们可能想使用java.lang.Integer类的几个static成员。该静态导入语句使用通配符来表达“我想在此类中的所有静态成员上进行静态导入”。

    3、现在我们终于看到静态导入特性的好处!我们不必在System.out.println中键入System。太好了!另外,我们不必在Integer.MAX_VALUE中键入Integer。因此,在这行代码中,我们能够将快捷方式用于静态方法和一个常量。

  • 相关阅读:
    一个不错的时间日期控件My97DatePicker
    实现dropDownList listBox联动
    删除字符串最后一个字符的几种方法
    Visual Studio 2008 Express 中文版下载
    DotNet上传大文件
    asp.net下获取Excel所有的工作表名称
    无法访问http,会强制跳到https
    循环
    P7516[省选联考2021A/B卷]图函数【bfs】
    AT2371[AGC013E]Placing Squares【矩阵乘法】
  • 原文地址:https://www.cnblogs.com/lushilin/p/5288860.html
Copyright © 2011-2022 走看看