找不到符号(Java)



我在我的代码中得到一个错误,找不到符号,我已经到处搜索,但仍然找不到解决方案。这个文件是单独的

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

假设您有单独的文件为类p1p2…如果它们被命名为p1.javap2.java,并且它们在同一目录下,那么可以这样做:

javac p2.java

但是,如果你有P1.java(大写p)或p1类的任何其他文件名,那么在编译p2类时,javac将无法找到p1类的编译源代码。

检查你的文件名。(我不知道这个问题是否会在不区分大小写的操作系统上存在,比如windows)

不管文件名是什么,这个都可以:

javac *.java

无论如何,建议是:

  • 类名以大写字母开头
  • 每个类都在它自己的.java文件中。
  • java文件名与classname完全匹配,包括字母大小写。

最新更新