在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 5版本引入的一项特性,旨在简化代码,特别是当频繁使用某个类的静态成员时。在传统的Java编程中,如果我们要引用一个类的静态成员,需要通过类名来限定,例如`ClassName.staticMember`...
### Java软件开发实战:Java基础与案例开发详解之Static修饰符 #### 6.5 Static修饰符 在Java中,`static`关键字用于声明与类而不是与实例相关的变量、方法或代码块。这一特性使得静态成员能够被类本身直接访问,...
import static java.lang.Math.random; import static java.lang.Math.PI; ``` 这样,我们可以直接在代码中使用`random()`和`PI`,而无需写成`Math.random()`和`Math.PI`。 `static`关键字的使用有助于减少代码...
### Java Package与Import机制详解 #### 一、引言 对于很多刚开始接触Java编程的初学者来说,往往是从购买一本入门书籍开始他们的Java学习之旅。在这个过程中,他们可能会下载最新的Java SDK并安装在自己的电脑上...
Java 静态关键字详解 Java static 关键字是 Java 语言中一个非常重要的概念,它可以修饰变量、方法、代码块和导入包等。下面我们将详细介绍 Java 中 static 关键字的使用和特点。 静态变量 Java 中的静态变量是指...
在Java中,你可以使用`import static`导入某个类的静态成员,这样在后续代码中就可以直接使用成员名,而无需写全类名。这在使用常量或工具类时可以简化代码。 总结起来,`static`关键字在Java中扮演了至关重要的...
### Java零基础-package和import详解 #### 一、引言 在Java编程中,随着项目的逐渐扩大,良好的代码组织和管理变得尤为重要。`package` 和 `import` 关键字是Java语言提供的两种基本机制,用于帮助开发者更好地...
- 静态导入类(`import static`)。 类初始化时,会执行静态初始化块和`<clinit>`方法。静态初始化块用于初始化静态变量,`<clinit>`方法则由编译器合成,包含所有静态变量的初始化和静态初始化块的代码。 现在...
例如,你可以创建一个名为`MyJavaClass`的类,并在其中定义一个静态方法`doSomething()`。 ```java public class MyJavaClass { public static String doSomething() { return "Hello from Java!"; } } ``` 3. ...
### Java.util.logging.Logger 使用详解 #### 一、创建Logger对象 在Java中,`java.util.logging.Logger` 是标准的日志框架之一,它提供了基础的日志记录功能。为了使用这一功能,首先需要获得 `java.util.logging...
尽管 Kotlin 没有直接的 `import static` 语法,但它提供了一种方式来导入 Java 类中的静态方法。例如: ```kotlin import java.util.Arrays.sort ``` 对于 Kotlin 类中的静态方法(即伴生对象中的方法),则可以...
Java 中的 static 关键字详解 Java 中的 static 关键字是 Java 语言中一个非常重要的关键字,它可以用于修饰变量、方法、代码块和类。static 关键字可以与 import 关键字联合使用,使用的方式不同赋予了 static ...
"Java枚举、静态导入、自动拆装箱、增强for循环、可变参数详解" 一、枚举简介 枚举是一种特殊的类型,可以限定一个变量的取值范围,使其只能是固定的几个值。枚举的优点是可以使代码更加简洁、可读性强、提高安全...
### Java软件开发实战:Java基础与案例开发详解 #### 11-6 Collections类 **Collections类** 是Java集合框架中的一个重要的工具类,主要用于提供各种实用方法来操作集合(尤其是`List`)。这些方法大多数是静态...
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 ...
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伪静态技术详解** 在Web开发中,伪静态是一种优化技术,它通过将动态页面的URL转换为静态页面的外观,从而提高用户体验和搜索引擎优化(SEO)。这种技术通常用于那些实际上由服务器动态生成但希望表现...
静态导入允许将类中的静态成员引入到当前作用域,免去类名前缀,如`import static java.lang.Math.*;`后,可以直接使用`sin()`、`cos()`等方法。 9. **集合框架的增强** Java 5.0对集合框架进行了优化,包括对Set...
Java 反射机制详解 Java 反射机制是 Java 语言中一个强大的功能,允许开发者在运行时动态地获取类的信息和调用对象的方法。通过 Java 反射机制,开发者可以在运行时判断任意一个对象所属的类、构造任意一个类的对象...