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 类,其中包含我的所有常量,我在其中存储了我想大量引用的自行车。我想添加一个带有 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”标签的自行车?
解决方案
在你喜欢的地方添加一个static
块:Helper
public class Helper {
public static final Bicycle bicycle = new Bicycle("blue", 5L);
static {
bicycle.setTag("mountain");
}
}
并修复tag = tag
->之类的任务this.tag = tag
。
推荐阅读
- .net - 从 http://xxxxx/app/app.module.js 加载 http://xxxxxx/ngx-toastr 作为“ngx-toastr”的 Angular 5 错误
- matlab - 从 3D 矩阵生成 3D 散点图 - Matlab
- php - Laravel 中的递归排序
- microsoft-teams - 使用连接器开发我公司的产品与 Microsoft Teams 的集成
- javascript - 守护进程在打开 ttyACM0 后获取控制接口并接收 SIGHUP
- angularjs - 角度数据表最小化观察者
- c++ - 在编译时根据某些条件生成一个字符串
- angular - 角度 Firebase 托管不起作用
- javascript - 动态生成 HTML 元素到 PHP 电子邮件表单
- c# - 返回的方法与返回变量的结果不同