java - Java - 设置成员变量时,如何设置其他成员
问题描述
我有以下遗留代码,如下所示。我想知道在设置 BikeGroup 时有没有办法设置 BikeName 和 BikeModel ?基本上,当用户设置 BikeGroup 时,我们如何自动设置 Foo 的 BikeName 和 BikeModel 版本?不使用构造函数来设置值。我正在使用验证器(弹簧框架)设置 BikeGroup ......所以我不能使用构造函数或设置器来设置值。
Class Foo{
private BikeGroup; // 1. when this is set
private String bikeName; // 2. set this with value in BikeGroup
private String bikeModel; // 3. and set this with value in BikeGroup
//getters/setters
}
Class BikeGroup{
private String bikeName;
private String bikeModel;
//getters/setters
}
解决方案
是的。但是,Foo
必须为构造函数命名Foo
(并且您想将 a 传递BikeGroup
给该构造函数,因此它需要一个参数)。而且你不放声明()
。class
就像是,
class Foo {
public Foo(BikeGroup bg) {
this.bikeName = bg.getBikeName();
this.bikeModel = bg.getBikeModel();
}
private String bikeName;
private String bikeModel;
}
或者,使用二传手...
class Foo {
public void setBikeGroup(BikeGroup bg) {
this.bikeName = bg.getBikeName();
this.bikeModel = bg.getBikeModel();
}
private String bikeName;
private String bikeModel;
}
推荐阅读
- database - 在 Firebase 中创建用户组
- sql - 使用嵌套在内部的多个选择查询更新查询
- javascript - Bootstrap 4 手风琴无法在移动设备上打开
- ios - 依赖于 pod 的框架需要什么?
- oracle - 具有输入和输出参数错误 PLS-00103 的函数
- sql - In Statement 只抓取第一个结果
- javascript - 按住浏览器关闭或标签关闭操作以显示自定义导航弹出窗口
- node.js - 使用 http-proxy-middleware 记录请求/响应主体
- sql - 字符串或二进制数据将被截断保存 base64 图像
- docker - 带有 Nginx 的 Taskwarrior 任务服务器