所以我们假设有一个带有main方法的类SimpleGame(slick2d btw):
public static void main(String[] args) throws SlickException {
AppGameContainer app = new AppGameContainer(new SimpleGame());
假设这个类在类字段声明中有许多初始化, 不会做很多不必要的课程和领域吗?
我看到很多代码使用了这个,我从来没有理解过。
答案 0 :(得分:5)
不会做很多不必要的课程和字段吗?
不,由于main
方法为static
,因此只需启动应用程序即可初始化任何字段。
你可以想象做new AppGameContainer(this)
这样的事情,但是你可能知道,静态方法中没有this
引用。
在main方法中执行new AppGameContainer(new SimpleGame())
之类的操作的原因是“转义”静态上下文,并获取具有字段等的正确实例(否则所有字段都必须是静态的) ,这被认为是不好的做法。)