如何在 Java 中从另一个目录/包中导入类?


在 Java 中,相互关联的类和接口被分组到一个包中。包只不过是一个存储特定概念的类和接口的目录。例如,所有与输入和输出操作相关的类和接口都存储在 java.io 包中。

包有两种类型:用户定义包和内置包(预定义)

import 关键字

每当您需要使用特定包中的类时 -

  • 首先,您需要为包含所需包的 JAR 文件设置类路径。

  • 使用 **import** 关键字从包中导入所需的类。导入时,您需要指定所需类的绝对名称(包括包和子包)。

示例

在以下示例中,我们尝试从键盘(System.in)读取表示用户姓名的字符串值。为此,我们使用 **Java. Util** 包的 Scanner 类。

 在线演示

public class ReadingdData {
   public static void main(String args[]) {
      System.out.println("Enter your name: ");
      Scanner sc = new Scanner(System.in);
      String name = sc.next();
      System.out.println("Hello "+name);
   }
}

输出

编译时错误

由于我们在程序中使用了名为 Scanner 的类,但没有在程序中导入它。执行此程序时会生成以下编译时错误 -

ReadingdData.java:6: error: cannot find symbol
      Scanner sc = new Scanner(System.in);
      ^
   symbol: class Scanner
   location: class ReadingdData
ReadingdData.java:6: error: cannot find symbol
      Scanner sc = new Scanner(System.in);
      ^
   symbol: class Scanner
location: class ReadingdData
2 errors

要解决此错误,请在程序顶部添加导入 Scanner 类的 import 语句,如下所示 -

示例

 在线演示

import java.util.Scanner;
public class ReadingdData {
   public static void main(String args[]) {
      System.out.println("Enter your name: ");
      Scanner sc = new Scanner(System.in);
      String name = sc.next();
      System.out.println("Hello "+name);
   }
}

输出

Enter your name:
krishna
Hello krishna

更新于: 2019-09-06

6K+ 次查看

启动您的 职业生涯

通过完成课程获得认证

开始
广告