我如何在 Java 中创建一个类似常量的 class 实例?

How do i make a constant-like instance of class in Java?

我正在尝试编写一个简单的游戏,在那个游戏中,有一个名为 Fighter 的 class,并且 class 的实例可以攻击其他实例。

我想创建一个 class 的实例,它始终被定义并具有特殊属性(我知道该怎么做,请不要尝试回答这个问题),以便它可以用作某种强力球员。

您可能想要的是:

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

你可以像这样使用单例模式

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

因此无论您在项目中的哪个位置都可以像这样使用

AdminFighter constant = AdminFighter.instance();

这总是 return AdminFighter 的同一个实例,就像常量一样。

注意: 避免像这个例子这样的全局常量,它们会在未来变成令人头疼的问题,并且它们是设计不佳的标志。 There are tons of blog post discussing about this.