Java-找不到其他类的符号错误

时间:2018-11-08 21:29:40

标签: java class cannot-find-symbol

首先,我想说明一下: 我不是在问 cannot find symbol 错误是什么意思,我只是问在什么情况下导致此错误的原因。

我最近研究了Java类。以下是我的第一个[非main]类:

class Test {
    public void test() {
        System.out.println("Hello, world!");
    }
}
class Main {
    public static void main(String[] args) {
        test();
    }
}

但是出现以下错误:

exit status 1
Main.java:8: error: cannot find symbol
                test();
                ^
  symbol:   method test()
  location: class Main
1 error

任何人都可以解释为什么会发生这种情况吗?

System.out.println("Thanks!");

2 个答案:

答案 0 :(得分:0)

方法test()未声明为静态。

您正在静态方法main()中调用非静态方法test()。如果您不想更改Test类,则必须按照以下步骤更改main()

public static void main(String[] args) {
    Test t = new Test();
    t.test();
}

如果不想太多更改main()。然后,您必须更改test()方法,如下所示:     公共静态无效性test(){}

和main()方法的内部:

Test.test()

答案 1 :(得分:0)

您不能在Main class中使用test()方法。因为test()方法在另一个类中定义,所以在Test类中。要访问其他类(主类)中的test()方法,您必须创建一个对象,并且可以通过该对象访问test()方法。 test()方法是属于Test类的实例方法。

class Main {
  public static void main(String[] args) {
      Test test1 = new Test();
      test1.test();
  }
}