首页 > 解决方案 > 制作一个用于存储我的项目编号的类

问题描述

我有类似于带有 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();

编辑:我对建立一个班级来保存我的照片有同样的问题。这里的答案不同吗?

标签: java

解决方案


推荐阅读