`

JAVA静态导入(import static)详解

    博客分类:
  • JAVA
阅读更多

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

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

在静态导入之前:

    public   class  TestStatic {
        public   static   void  main(String[] args) {
            System.out.println(Integer.MAX_VALUE);
            System.out.println(Integer.toHexString(42 ));
        }
    } 
 

在静态导入之后:

    import   static  java.lang.System.out;
    import   static  java.lang.Integer.*;
    
    public   class  TestStaticImport {
        public   static   void  main(String[] args) {
            out.println(MAX_VALUE);
            out.println(toHexString(42 ));
        }
    }
 



两个类都产生相同的输出:

   1. 2147483647 
   2. 2a


让我们看一下使用静态导入特性的代码中将发生什么:

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

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

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

4、最后,我们进行更多的快捷操作,这次针对Integer类的方法。

关于该特性,我们已经有点儿讽刺意味儿了,但不仅我们是这样的。我们不认为节省少量的击键次数会让代码难于阅读一点,但许多开发人员要求将它添加到语言中。

下面是使用静态导入的几条原则:

    * 你必须说import static, 不能说static import。
    * 提防含糊不清的命名static成员。例如,如果你对Integer类和Long类执行了静态导入,引用MAX_VALUE将导致一个编译器错误,因为Integer和Long都有一个MAX_VALUE常量,并且Java不会知道你在引用哪个MAX_VALUE。
    * 你可以在static对象引用、常量(记住,它们是static 或final)和static方法上进行静态导入。

转载:http://www.java3z.com/cwbwebhome/article/article2/21168.html

分享到:
评论

相关推荐

    文件文件文件文件文件

    1. **静态导入(Static Import)**:在Java 5中引入的静态导入允许开发者直接引用类的静态成员,而无需指定类名。以前,我们需要写`Math.random()`,现在可以通过`import static java.lang.Math.random;`,然后直接...

    java中静态导入机制用法实例详解

    Java中的静态导入机制是自Java 5版本引入的一项特性,旨在简化代码,特别是当频繁使用某个类的静态成员时。在传统的Java编程中,如果我们要引用一个类的静态成员,需要通过类名来限定,例如`ClassName.staticMember`...

    Java软件开发实战 Java基础与案例开发详解 6-5 static修饰符 共13页.pdf

    ### Java软件开发实战:Java基础与案例开发详解之Static修饰符 #### 6.5 Static修饰符 在Java中,`static`关键字用于声明与类而不是与实例相关的变量、方法或代码块。这一特性使得静态成员能够被类本身直接访问,...

    java static关键字详解(csdn)————程序.pdf

    import static java.lang.Math.random; import static java.lang.Math.PI; ``` 这样,我们可以直接在代码中使用`random()`和`PI`,而无需写成`Math.random()`和`Math.PI`。 `static`关键字的使用有助于减少代码...

    java-package与import机制

    ### Java Package与Import机制详解 #### 一、引言 对于很多刚开始接触Java编程的初学者来说,往往是从购买一本入门书籍开始他们的Java学习之旅。在这个过程中,他们可能会下载最新的Java SDK并安装在自己的电脑上...

    java static学习

    Java 静态关键字详解 Java static 关键字是 Java 语言中一个非常重要的概念,它可以修饰变量、方法、代码块和导入包等。下面我们将详细介绍 Java 中 static 关键字的使用和特点。 静态变量 Java 中的静态变量是指...

    Java中static作用详解

    在Java中,你可以使用`import static`导入某个类的静态成员,这样在后续代码中就可以直接使用成员名,而无需写全类名。这在使用常量或工具类时可以简化代码。 总结起来,`static`关键字在Java中扮演了至关重要的...

    Java零基础-package和import.md

    ### Java零基础-package和import详解 #### 一、引言 在Java编程中,随着项目的逐渐扩大,良好的代码组织和管理变得尤为重要。`package` 和 `import` 关键字是Java语言提供的两种基本机制,用于帮助开发者更好地...

    Java类执行顺序详解+实例(阿里面试题)+详细讲解+流程图

    - 静态导入类(`import static`)。 类初始化时,会执行静态初始化块和`<clinit>`方法。静态初始化块用于初始化静态变量,`<clinit>`方法则由编译器合成,包含所有静态变量的初始化和静态初始化块的代码。 现在...

    qt调用JAVA文件示例

    例如,你可以创建一个名为`MyJavaClass`的类,并在其中定义一个静态方法`doSomething()`。 ```java public class MyJavaClass { public static String doSomething() { return "Hello from Java!"; } } ``` 3. ...

    java.util.logging.Logger使用详解

    ### Java.util.logging.Logger 使用详解 #### 一、创建Logger对象 在Java中,`java.util.logging.Logger` 是标准的日志框架之一,它提供了基础的日志记录功能。为了使用这一功能,首先需要获得 `java.util.logging...

    Kotlin 包和 import 语句

    尽管 Kotlin 没有直接的 `import static` 语法,但它提供了一种方式来导入 Java 类中的静态方法。例如: ```kotlin import java.util.Arrays.sort ``` 对于 Kotlin 类中的静态方法(即伴生对象中的方法),则可以...

    详解java中的static关键字

    Java 中的 static 关键字详解 Java 中的 static 关键字是 Java 语言中一个非常重要的关键字,它可以用于修饰变量、方法、代码块和类。static 关键字可以与 import 关键字联合使用,使用的方式不同赋予了 static ...

    详谈Java枚举、静态导入、自动拆装箱、增强for循环、可变参数

    "Java枚举、静态导入、自动拆装箱、增强for循环、可变参数详解" 一、枚举简介 枚举是一种特殊的类型,可以限定一个变量的取值范围,使其只能是固定的几个值。枚举的优点是可以使代码更加简洁、可读性强、提高安全...

    Java软件开发实战 Java基础与案例开发详解 11-6 Collections类 共6页.pdf

    ### Java软件开发实战:Java基础与案例开发详解 #### 11-6 Collections类 **Collections类** 是Java集合框架中的一个重要的工具类,主要用于提供各种实用方法来操作集合(尤其是`List`)。这些方法大多数是静态...

    让jsp编程html生成静态页面,

    import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; public class ...

    Java软件开发实战 Java基础与案例开发详解 9-4 日期类简介 共7页.pdf

    import java.text.SimpleDateFormat; import java.util.Date; public class DateFormatExample { public static void main(String[] args) { Date date = new Date(); SimpleDateFormat sdf = new ...

    java/.net伪静态简介加例子

    **Java与.NET伪静态技术详解** 在Web开发中,伪静态是一种优化技术,它通过将动态页面的URL转换为静态页面的外观,从而提高用户体验和搜索引擎优化(SEO)。这种技术通常用于那些实际上由服务器动态生成但希望表现...

    Java5.0中方帮助文档

    静态导入允许将类中的静态成员引入到当前作用域,免去类名前缀,如`import static java.lang.Math.*;`后,可以直接使用`sin()`、`cos()`等方法。 9. **集合框架的增强** Java 5.0对集合框架进行了优化,包括对Set...

    java反射机制详解

    Java 反射机制详解 Java 反射机制是 Java 语言中一个强大的功能,允许开发者在运行时动态地获取类的信息和调用对象的方法。通过 Java 反射机制,开发者可以在运行时判断任意一个对象所属的类、构造任意一个类的对象...

Global site tag (gtag.js) - Google Analytics