如何在java中创建类的一个类似常量的示例?

nxagd54h  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(303)

我想写一个简单的游戏,在这个游戏中,有一个类叫做 Fighter ,并且该类的示例可以攻击其他示例。
我想为这个类创建一个示例,它总是被定义的,并且有特殊的属性(我知道怎么做,请不要试图回答这个问题),这样它就可以被用作某种类型的强力玩家。

cdmah0mi

cdmah0mi1#

你可能想要的是:

public class Fighter {
    public static final Fighter ADMIN_FIGHTER = new Fighter(whatever-args ...);
u4vypkhs

u4vypkhs2#

你可以这样使用单例模式

public final class AdminFighter {
   private static final AdminFighter instance = new AdminFighter();
   private AdminFighter(){}
   public static AdminFighter instance() {
       return instance;
   }
}

所以无论你在项目中的什么地方,你都可以这样使用

AdminFighter constant = AdminFighter.instance();

它总是像常量一样返回同一个adminfighter示例。
注意:避免像这个例子那样的全局常量,它们会导致将来的麻烦,而且它们是糟糕设计的标志。有很多博客都在讨论这个问题。

相关问题