首页 > 解决方案 > 如何使用 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 类,其中包含我的所有常量,我在其中存储了我想大量引用的自行车。我想添加一个带有 color="blue",speed=5L,tag="mountain" 的 Bicylce 作为公共静态变量,但我不知道该怎么做,因为构造函数不使用标签,并且 setTag 返回 void。我不拥有这个 Bicycle 类,所以我不能将它添加到构造函数中。


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

}

正因为如此,每当我必须创造这辆自行车


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

如何在 Helper 类中创建带有“mountain”标签的自行车?

标签: java

解决方案


在你喜欢的地方添加一个static块:Helper

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

并修复tag = tag->之类的任务this.tag = tag


推荐阅读