【JAVA基础】JAVA报错:找不到符号
如何出现的错误
在utils包下,从别的地方复制粘贴了一份Utility.java文件,然后自己写TestUtility.java测试类时,调用Utility.java里的方法,运行时报错:java:找不到符号
如何解决
对Utility.java重新编译一下即可。
原理
compile编译的原理:是将源代码(.java文件)转化为可执行代码(.class文件)的过程。之前直接粘贴过来并没有编译,导致运行时找不到Utility的可执行文件。
扩展:Compile、Make、Build的关系
在Java的集成开发环境中,比如Eclipse、IDEA中,有常常有三种与编译相关的选项Compile、Make、Build三个选项。这三个选项最基本的功能都是完成编译过程。但又有很大的区别,区别如下:
- Compile:只编译选定的目标,不管之前是否已经编译过。
- Make:编译选定的目标,但是Make只编译上次编译变化过的文件,减少重复劳动,节省时间。(具体怎么检查未变化,这个就不用考虑了,IDE自己内部会搞定这些的)
- Build:是对整个工程进行彻底的重新编译,而不管是否已经编译过。Build过程往往会生成发布包,这个具体要看对IDE的配置了,Build在实际中应用很少,因为开发时候基本上不用,发布生产时候一般都用ANT等工具来发布。Build因为要全部编译,还要执行打包等额外工作,因此时间较长。