You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在包含main方法的类中创建该类对象是否合法?

问题代码
public class Main {

    void something() {
        System.out.println("Works?");
    }

    public static void main(String[] args) {
        Main m = new Main();
        m.something();
    }
}

这种在main()方法内部创建当前类对象的方式完全合法,而且是Java程序中非常常见的写法。

原因说明:

  • main()是静态方法,属于类本身,而something()是实例方法,必须通过类的实例对象才能调用。所以在main()里创建Main类的实例,再调用实例方法是标准的操作逻辑。
  • Java没有禁止在类的静态方法中创建自身类的实例,只要当前类已经被JVM加载(这里Main作为程序入口类,启动时就会被加载),就可以正常完成实例化。
  • 这种写法在小型程序、测试代码中尤为普遍,能快速启动程序并执行类的实例逻辑。

内容的提问来源于stack exchange,提问作者Pratik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 02:24:51