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

在Java中,彼此相关的类和接口归为一个包。该软件包不过是一个目录,用于存储特定概念的类和接口。例如,所有与输入和输出操作有关的类和接口都存储在java.io包中。

软件包有两种类型,即用户定义的软件包和内置的软件包(预定义)

导入关键字

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

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

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

示例

在下面的示例中,我们尝试从键盘(System.in)中读取一个表示用户名的字符串值。为此,我们使用Java的扫描器类实用程序包。

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

要解决此错误,请在程序顶部添加将扫描仪类导入的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