我在我的代码中得到一个错误,找不到符号,我已经到处搜索,但仍然找不到解决方案。这个文件是单独的
class P1 {
protected void aFancyMethod() {
System.out.println("what a fancy method");
}
}
public class P2 extends P1 {
public static void main(String argv[]) {
P2 p2 = new P2();
p2.aFancyMethod();
}
}
my error same…
P2.java:3: error: cannot find symbol
public class P2 extends P1 {
^
symbol: class P1
P2.java:7: error: cannot find symbol
p2.aFancyMethod();
^
symbol: method aFancyMethod()
location: variable p2 of type P2
2 errors
假设您有单独的文件为类p1
和p2
…如果它们被命名为p1.java
和p2.java
,并且它们在同一目录下,那么可以这样做:
javac p2.java
但是,如果你有P1.java
(大写p)或p1
类的任何其他文件名,那么在编译p2
类时,javac将无法找到p1
类的编译源代码。
检查你的文件名。(我不知道这个问题是否会在不区分大小写的操作系统上存在,比如windows)
不管文件名是什么,这个都可以:
javac *.java
无论如何,建议是:
- 类名以大写字母开头 每个类都在它自己的
- java文件名与classname完全匹配,包括字母大小写。
.java
文件中。