每当您需要在当前程序中使用外部类/接口(无论是用户定义的还是内置的),您需要使用import关键字将这些类导入到当前程序中。
但是,在导入任何类时:
如果您导入的类/接口的路径对JVM不可用。
如果您在导入语句中提到的绝对类名不准确(包括包和类名)。
如果您已经导入了使用的类/接口。
您将收到一个异常,显示"无法找到符号......"
在以下示例中,我们尝试从键盘(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
您需要为包含所需类接口的JAR文件设置类路径。
使用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
以上就是在Java中,什么原因会导致"Cannot find symbol"错误?的详细内容,更多请关注php中文网其它相关文章!