关于主方法中的初始化

1 java class

所以我们说有一个带有main方法的类SimpleGame(slick2d btw):

public static void main(String[] args) throws SlickException {
    AppGameContainer app = new AppGameContainer(new SimpleGame());
Run Code Online (Sandbox Code Playgroud)

假设这个类在类字段声明中有许多初始化,它不会做很多不必要的类和字段吗?

我看到很多代码使用这个,我从来没有理解过.

aio*_*obe 5

不会做很多不必要的课程和领域吗?

不,因为该main方法是static,仅通过启动应用程序就不会初始化任何字段.

您可以想象做类似的事情new AppGameContainer(this),但正如您可能知道的this那样,静态方法中没有引用.

new AppGameContainer(new SimpleGame())在main方法中执行某些操作的原因是"逃避"静态上下文,并使用字段等来获取正确的实例(否则所有字段都必须是静态的,这被认为是不好的做法.)