您的位置:

Java import 用法详解

Java import 语句允许在当前代码中引用其他 Java 类。本文将从多个方面详细阐述 Java import 用法。

一、import 的基本语法

Java 的 import 语句包括两种写法:
import package.name.ClassName;
import package.name.*;
第一种写法是直接导入一个具体的类,可以通过 import 后接具体类名实现,类名和包名中间用 "." 分隔。 第二种写法可以用于导入整个包,可以通过 import 后接整个包名实现,其中 "*" 表示导入该包中所有类。

二、static import 用法

静态导入功能允许在使用静态成员时只用指定成员的名称,而不需指定类名称。这类似于在 C 语言中的 #define 指令,但是是更灵活更安全的变种。 示例代码如下:
import static java.lang.Math.*;
public class StaticImportTest {
    public static void main(String[] args) {
        double d = sqrt(pow(2, 2) + pow(3, 2));
        System.out.println("result1:" + d);
    }
}
在此示例中,我们使用 static import 导入 java.lang.Math 类中的所有静态成员。这里使用 sqrt 和 pow 两个静态方法,来计算三角形斜边的长度,在输出时我们只使用了方法名,而不需要类名前缀。

三、导入同名类的两种方法

在使用 Java 时,由于类名是不可重复的,因此可能会出现同名类的情况。我们需要使用 import 语句来指定使用哪一个同名类。 方法一:使用类的全限定名
class Person {
    String name;
}
 
public class importTest {
    public static void main(String[] args) {
        Person p1 = new Person();
        com.example.Person p2 = new com.example.Person();
    }
}
在这个例子中,我们通过两种方式来实例化 Person 类:一种是通过直接使用类名,另一种是通过全限定名。 方法二:使用 import 语句,剔除同名类的冲突
import com.example.Person;
class Person {
    String name;
}
 
public class importTest {
    public static void main(String[] args) {
        Person p1 = new Person();
        com.example.Person p2 = new com.example.Person();
    }
}
在这个例子中,我们可以使用 import 语句来指定使用哪一个同名类。我们可以在使用该类之前,指定其包名并加以区分。

四、导入包下多个同名类

在某些情况下,同一个包下可能会出现多个同名类。可以使用以下两种方式来进行导入: 方法一:导入具体类
import java.util.Date;
import java.sql.Date;
 
public class importTest {
    public static void main(String[] args) {
        Date d1 = new Date();
        java.sql.Date d2 = new java.sql.Date(System.currentTimeMillis());
    }
}
在这个例子中,我们通过导入具体的类来实例化 Date 类。使用 import 语句指定导入的是哪个 Date 类。在代码中直接使用 Date() 构造方法。 方法二:使用类的全限定名
public class importTest {
    public static void main(String[] args) {
        java.util.Date d1 = new java.util.Date();
        java.sql.Date d2 = new java.sql.Date(System.currentTimeMillis());
    }
}
在这个例子中,我们使用了类的全限定名称来避免同名冲突。

五、使用 Java 11 中的 import 语句

从 Java 11 开始,我们可以使用新的 import 语法来实现更加灵活的引用类文件的方式。下面是 import 语句的新写法:
import java.util.*;
import static java.util.Objects.*;
import java.util.function.*;
import java.util.stream.*;
这种写法与原来的 import 语句有些许不同,使用更加简便。

总结

本文详细阐述了 Java import 语句的用法,包括基本语法、static import 用法、同名类的导入方法、导入包下多个同名类和 Java 11 中的 import 语句。希望本文对读者加深对 Java import 语句的理解和应用。