java - 关于main方法中的初始化

标签 java class

假设有一个类 SimpleGame 有 main 方法(slick2d btw):

public static void main(String[] args) throws SlickException {
    AppGameContainer app = new AppGameContainer(new SimpleGame());

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

我看到很多代码都使用了这个,但我一直不明白。

最佳答案

wouldn't it do many unnecessary classes and fields?

不,因为 main 方法是static,所以没有字段只是通过启动应用程序来初始化。

您可以想象做类似new AppGameContainer(this) 的操作,但您可能知道,this 引用在静态方法中不可用。

在 main 方法中只执行类似 new AppGameContainer(new SimpleGame()) 的原因是为了“转义”静态上下文,并使用字段等获取适当的实例。 (否则所有字段也必须是静态的,这被认为是不好的做法。)

关于java - 关于main方法中的初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7468310/

相关文章:

java - 通过cmd执行jar文件

java - 无法在溢出的构造函数中默认参数

c++ - 如何在类中创建模板函数? (C++)

java - Maven过滤乱码特殊字符

java - 对 unicode 数字进行数学运算

java - 自定义类中的变量总是打印 0

c++ - 指向模板函数的指针

python - Python 中的无类方法有什么用吗?

java - "x"上存在语法错误,此后应有 VariableDeclaratorld

java - 如何直接从 Java 调用 Clojure 函数