Java - 找不到与其他 类 的符号错误
Java - Cannot Find Symbol Error With Other Classes
首先我想说清楚:我不是在问什么 cannot find symbol
error 的意思是,我只是问在这种情况下是什么导致了这个错误。
我最近深入研究了 Java 中的 classes。下面是我的第一个[非main
]class:
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!");
方法 test() 未声明为静态。
您正在静态方法 main() 中调用非静态方法 test()。如果您不想更改 class 测试,则必须按以下方式更改 main()
public static void main(String[] args) {
Test t = new Test();
t.test();
}
如果你不想对 main() 改动太多。然后你必须改变 test() 方法如下:
public静态无效测试(){}
和 main() 方法内部:
Test.test()
您不能在 Main class 中使用 test()
方法。因为 test()
方法在另一个 class 中定义,在 Test class 中。要访问其他class(Main class)中的test()
方法,您必须创建一个对象,您可以通过该对象访问test()
方法。 test()
方法是属于Test class的实例方法。
class Main {
public static void main(String[] args) {
Test test1 = new Test();
test1.test();
}
}
首先我想说清楚:我不是在问什么 cannot find symbol
error 的意思是,我只是问在这种情况下是什么导致了这个错误。
我最近深入研究了 Java 中的 classes。下面是我的第一个[非main
]class:
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!");
方法 test() 未声明为静态。
您正在静态方法 main() 中调用非静态方法 test()。如果您不想更改 class 测试,则必须按以下方式更改 main()
public static void main(String[] args) {
Test t = new Test();
t.test();
}
如果你不想对 main() 改动太多。然后你必须改变 test() 方法如下: public静态无效测试(){}
和 main() 方法内部:
Test.test()
您不能在 Main class 中使用 test()
方法。因为 test()
方法在另一个 class 中定义,在 Test class 中。要访问其他class(Main class)中的test()
方法,您必须创建一个对象,您可以通过该对象访问test()
方法。 test()
方法是属于Test class的实例方法。
class Main {
public static void main(String[] args) {
Test test1 = new Test();
test1.test();
}
}