我有一个类似于Java swing的鸡肉入侵者的游戏项目。我想为我的项目保存一些数字或尺寸,以便在整个项目中使用它们。例如,我构建的spaceShip
的宽度等于主框架的五分之一。但我不想每次都打电话给mainFrame.getWidth()
并除以5;所以我要建立一个类来存储这些数字,例如spaceShip
的大小和起始位置等等。问题是,创建单例类并在每次我想要一个数字时获取一个实例,还是用我想要的数字的静态字段构建一个类,是否更好?我为他们两个提供了代码。
第一种方式:
public class Dimensions {
private static GameObjects gameObjects = GameObjects.create();//a singleton class i keep my obj
final public static int spaceShipHeight = gameObjects.getMainFrame().getHeight()/8
, spaceShipWidth = gameObjects.getMainFrame().getWidth()/15 ;
private Dimensions() {
}
}
第二种方式:
public class Dimensions {
Dimensios dimensions;
int spaceShipHeight , spaceShipWidth ;
private Dimensions() {
int spaceShipHeight = gameObjects.getMainFrame().getHeight()/8;
int spaceShipWidth = gameObjects.getMainFrame().getHeight()/15;
}
public Dimensions create() {
if(dimensions==null) {
dimensions = new Dimensions();
}
return dimension;
}
// and here goes the code for getters
public int getSpaceShipHeight(){
return spaceShipHeight;
}
}
并用于:
第一种方式:int a = Dimensions.spaceShipHeight;
第二种方式:int a = Dimensions.getSpaceShipHeight();
编辑: 建立班级保存图片时,我有同样的问题。 答案是否有所不同?