java - 如何使用 void set 方法在静态常量帮助程序类中创建对象?

所以我有反对意见

@Data
public class Bicycle{
     private String color;
     private long speed;
     private String tag;

    public Bicycle(String color, long speed){
         color = color;
         speed = speed;   
    }

    public void setTag(String tag){
        tag = tag;
    }
}

我还有一个 Helper 类,其中包含我的所有常量,我在其中存储了我想经常引用的 Bicycle。我想添加一个带有 color="blue",speed=5L,tag="mountain"的 Bicylce 作为公共(public)静态变量,但我不确定该怎么做,因为构造函数不使用标签,并且 setTag 返回 void。我不拥有此 Bicycle 类,因此无法将其添加到构造函数中。


public class Helper{
   public static final Bicycle = new Bicycle("blue",5L);

}

因此,每当我必须制造这辆自行车时


     main{
         Bicycle bicycle = Helper.Bicycle;
         Bicycle.setTag"mountain");
   }

如何在 Helper 类中使用“mountain”标签创建这辆自行车?

最佳答案

在您的 Helper 中添加一个 static block ,例如:

public class Helper {
    public static final Bicycle bicycle = new Bicycle("blue", 5L);
    static {
        bicycle.setTag("mountain");
    }
}

并修复分配,如 tag = tag -> this.tag = tag

https://stackoverflow.com/questions/64658612/

相关文章:

javascript - 在 React Native 中安排本地通知不起作用

c - 打印函数,C语言的hello world

python - Windows 上的 Gcloud 命令(使用 git bash)正在记录错误 :

react-native - React native 每次打开页面时如何执行函数

python - 在Python中随机生成二维列表

node.js - docker-compose npm install && npm start

vue.js - 如何制作可点击的带有悬停效果的q卡?

azure-devops - Azure Devops - Terraform 任务失败并出现错误

c++ - 仅当使用 unordered_map 而不是 vector 时,将 const 作为此参

scala - scala中以下两种模式匹配案例有什么区别