【发布时间】:2022-01-13 06:12:51
【问题描述】:
我有一个自定义类,如下所示:
public class A{
private String msg,
private String name,
private int number;
private boolean isActive;
}
我正在编写一个测试用例,我可以在其中创建此类的实例
A case = new A("This is an sample", "Raks", 1, true);
//some logic here...
//
//
//-- Now i want to change the activity of case to false.
//case.isActive ==false; // This does not work, but I want to achieve this.
//I was not able to do it, and hence created another instance
A case2 = new A("This is an sample", "Raks", 1, false);
我想知道是否可以直接更改字段的值而不是创建新实例。
-------------------编辑--------------- ----
@AllArgsConstructor
@Getter
@ToString
public class A{
private String msg,
private String name,
private int number;
private boolean isActive;
}
【问题讨论】:
-
你可以用公共的setter方法来改变它
-
创建一个设置器来更改字段 - 封装点的种类
-
好的,所以 A 中字段的值来自远程服务器,因此没有设置器。我正在模拟 A 最初处于活动状态然后变为非活动状态的场景。
-
这是否意味着您不想/不能更改类以添加设置器?模拟情况是否会在真实场景中涉及 2 条消息?如果是这样,我会使用 2 条消息,因为如果远程服务器发生任何变化,这似乎会发生什么。
-
我无法添加setter,类比类似于警报,它首先处于活动状态,然后变得不活动。