java - 制作一个用于存储我的项目编号的类
问题描述
我有类似于带有 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();
编辑:我对建立一个班级来保存我的照片有同样的问题。这里的答案不同吗?
解决方案
推荐阅读
- javascript - getCurrentPosition 不触发回调
- keras - Keras 的密集层上的形状不兼容
- python - 我该如何解决这个错误 TypeError: 'StringVar' 类型的对象没有 len()
- karate - 空手道 V1.0.1 * 配置 charset = null 不起作用
- jestjs - 在单元测试中调度操作时未选择 Ngrx 效果
- javascript - SyntaxError:无法在模块外使用 import 语句,如何使用 react-native-svg 为 Web 运行测试单元?
- groovy - 为什么我在 Jenkins 管道 groovy 中看到这种行为
- mongodb - MongoDB 聚合用例
- amazon-emr - 当我使用 zeppelin 时,Amazon EMR 集群可能停止响应
- php - 为什么我的随机函数总是返回相同的数字?