调用main方法的类必须是public吗?

来源:百度知道 编辑:UC知道 时间:2024/06/08 18:38:07
class A {
protected void print(String s) {
System.out.println(s);
}

A() {
print("A()");
}

public void f() {
print("A:f()");
}
}

class B extends A {
B() {
print("B()");
}

public void f() {
print("B:f()");
}
}

public class Test2 {
public static void main(String[] arg) {
B b = new B();
b.f();
}
}

之前我没有写Test2这个类,而是直接在B 里面的调用main方法,eclipse没有报错,但执行的时候,老是说

Could not found the main class.Problem will exit.

改成上面这样后,就能直接运行了。之前也遇见过几次这样的情况。请问是不是 调用main方法的类必须是public吗?

你用eclipse编译的话main方法一定要放在public类中,但是如果你直接在DOS命中用javac与java编译,main方法可以不写在public类中,不过一般情况还是都写在public类中好些。

程序的执行是从main方法开始的,它是整个程序的入口,必须是public的,static的
要是用其他的方法来调用main方法,程序找不到入口就会报错。

main是整个程序的入口 所以必须是public的

必须的 还是静态的 还是没有返回值的

是这样的