Java中的main方法是否必须是静态的?

hom*_*rrr 1 java methods static program-entry-point

主要方法(Java请求您在类中拥有)是否必须是静态的?例如,我有这个代码

public class Sheet {

    public static void main(String[] args) {
        myMethod();
    }

    public void myMethod() {
        System.out.println("hi there");
    }

}
Run Code Online (Sandbox Code Playgroud)

这给了我错误

无法对main的非静态调用方法进行静态引用

如果我清楚了,我从方法调用的任何方法都main必须是静态的,并且我从静态方法调用的每个方法都必须是静态的.

为什么我的全班(如果我们更进一步,我的整个程序)和方法必须是静态的?我怎么能避免这种情况?

Lui*_*oza 10

并非所有方法都必须是静态的,只是应用程序的主要入口点.所有其他方法都可以保持非,static但您需要使用类的引用来使用它们.

以下是您的代码的外观:

public class Sheet {
    public static void main(String[] args) {
        Sheet sheet = new Sheet();
        sheet.myMethod();
    }

    public void myMethod(){
        System.out.println("hi there");
    }
}
Run Code Online (Sandbox Code Playgroud)

这里解释了您关注的问题(这里不需要复制所有信息):