拥有90%静态成员的Java类.好的做法还是什么?

Aar*_*ron 4 java oop static

我14岁,已经学习了大约4/5个月的java.我正在编写一个现在叫做super mario winshine的游戏,我想知道一个主要是静态变量的类是否是一个好习惯.

该类是保存游戏关卡/世界的所有信息的类.由于我只需要这个类的一个版本,并且许多其他类将使用它,我选择将所有变量设置为静态.这是好习惯吗?

我已经考虑过这样一个事实:我可以保持变量"非静态"并且只是克隆我用于该类的主要对象,但我认为在这种情况下我宁愿为内存牺牲"OO".

use*_*300 9

一旦你想拥有两个或更多的世界,这将失败.比如,当您的第一个版本取得巨大成功并且您想要添加"并行Universe"扩展集时.

根据我的经验,90%的时间营销说"哦,别担心,只有一个应用程序/窗口/数据库/用户"他们错了.

添加

我也会避免在World.getInstance()等中使用真正的Singleton模式.这些是在极少数情况下,它确实是一个基本要求,只有一个东西.在您的情况下,您使用它是为了方便,而不是要求.

没有完美的修复,YMMV,但我会考虑一个单一的静态方法,类似于

   World World.getWorld(String name)
Run Code Online (Sandbox Code Playgroud)

然后在返回的World上调用真实(非静态)方法.对于程序的V1,允许null表示"默认世界".

有些人可能会把这个方法放到一个名为WorldManager的类中,或者,或许显示我的年龄,一个更聪明的名字,如Amber.:-)