编译Java程序时,编译器会创建一个使用中的所有标识符的列表。如果找不到标识符所指的内容(例如,变量没有声明语句),则无法完成编译。
这就是
cannot find symbol错误消息表示编译器没有足够的信息来拼凑Java代码要执行的内容。
尽管Java源代码包含关键字、注释和运算符等其他内容,“找不到符号”错误引用特定包、接口、类、方法或变量的名称。编译器需要知道每个标识符引用了什么。如果没有,代码基本上是在寻找编译器尚未理解的东西。
“找不到符号”Java错误的一些可能原因包括:
有时,错误是由各种问题组合而成的。因此,如果您修复了一件事,并且错误仍然存在,请检查是否存在仍然影响代码的不同问题。
例如,您可能正在尝试使用未声明的变量,当您修复它时,代码仍然包含拼写错误。
让我们以这段代码为例:
此代码将导致
cannot find symbol错误,因为
System.out类没有名为“prontln”的方法:
消息下面的两行将准确地解释代码的哪一部分使编译器感到困惑。
在专用的集成开发环境中,经常会标记诸如资本错配之类的错误。尽管您可以在任何文本编辑器中编写Java代码,但使用IDE及其相关联的linting工具可以减少打字错误和不匹配。常见的JavaIDE包括Eclipse和NetBeans。
...别——java中的throw与throws 编程时可能会出错。程序中的错误会产生意外的结果,也可能会终止程序的执行。因此,正确地检测和管理错误,才能正确地执行程序。错误可以有两种类型。它们是编译时错误和运行时错误。当有语...
...键区别——java中的检查异常与未检查异常 异常是运行时错误。有两种类型的异常称为检查异常和未检查异常。当发生选中的异常时,Java应用程序连接到外部资源,如文件、设备或数据库。这些异常由编译器检查。检查的异常的...
...用现有的类。为此,可以使用final。在编程中,可能会有错误,为了正确地执行程序,处理这些错误是很重要的。finalize是由垃圾回收器调用的方法。因此,所有这些术语都有不同的含义。final是一个关键字,用于防止更改变量、...
... 作为一个Java程序员,您应该完全理解Java虚拟机是如何工作的,以及为什么它允许跨平台开发。您还应该熟悉核心Java概念,例如如何在Java中使用异常。你也可以用Java玩得很开心---用Java和处理技术创造出...
...置。 访问数组边界之外的数组项表示程序错误。调试愉快! XML解析错误应该引起用户的注意,以便可以更正XML文件。 内存不足的程序(可能在处理大文件时)可以通过增加java进程可...
作为一个编程新手,异常处理的概念可能很难让你理解。并不是说概念本身很难理解,而是术语可以让它看起来比实际更先进。而且它的功能非常强大,很容易被滥用。 ...
...”按钮后,如果您使用的是Windows Vista,则可能会收到此错误消息,说明它也没有经过正确的认证,无法使用Vista。只需点击它的工作正常。 这确实让我想知道…我想我们会错过更新修复问题的控制面板…还是我们会?您可以改...
...JVM。 JVM代表Java虚拟机,它创建了一个虚拟计算机,可以理解编写Java程序的代码。Java程序不是以特定于操作系统的方式编写的。这使它能够在任何平台上运行,但需要使用JVM将命令从Java字节码转换为特定的机器代码。 并非所有...
...产生指定的结果(即结果)。 下面的基本示例展示了在理解如何使用SOAP或REST在web服务之间传输数据之前web服务的基本用法。 如果开发人员正在编写一个需要在一个地方进行一些数据计算的应用程序,则将在该地方的代码中编...