问题解决方法
问题在同一目录下写了两个类,然后想用命令行javac来编译,结果就出现cannot find symbol的错误。
Car.java
package src.com.week02; public class Car { private int year; public Car(int theYear) { year = theYear; } public int getYear() { return year ; } }
Test.java
package src.com.week02; public class Test { public static void main(String[] args) { Car car = new Car(2022); System.out.println(car.getYear()); } }
报错
.../src/com$ javac week02/Test.java week02/Test.java:4: error: cannot find symbol Car car = new Car(2022); ^ symbol: class Car location: class Test week02/Test.java:4: error: cannot find symbol Car car = new Car(2022); ^ symbol: class Car location: class Test 2 errors解决方法
这个问题是由于使用package引起的,我们在使用javac编译时需要到package 的路径。
比如这里是:
package src.com.week02;
那么我们在week02目录下编译就是错的
我们需要到src的上一级目录编译,就是package路径的上一级,要保证package解析能够完成。
$ javac src/com/week02/Test.java
然后再运行
$ java src.com.week02.Test
输出结果:2022
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)