java - 如何在根据其他实例变量的值不断更新的类中设置实例变量?
问题描述
我想设置一个依赖于另一个的实例变量。
我试图定义我的新实例变量引用另一个。例如:
public class numbers{
int value;
int triple=3*value;
.
.
.
}
我希望每当我value
通过类方法triple
更新自变量(在示例中value
为
解决方案
分配int triple = 3 * value;
只进行一次,对当时评估的值。在那之后,这两个变量之间没有内在的绑定。
隐藏字段内部的一种常见模式是使用 getter 和 setter,您可以在其中使您的类表现得如您所愿。根据您希望该三元组的行为方式,您可以在值的设置器上设置其值:
public class Numbers{
private int value;
private int triple;
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
this.triple = 3 * value;
}
public int getTriple() {
return triple;
}
}
或者您可以完全摆脱三重字段,并用一个方法替换它:
public class Numbers{
private int value;
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
public int getTriple() {
return 3 * value;
}
}
对于这两种情况,我都将设置器保留为三重,因为如果值不能被三整除,它的行为将取决于你想要做什么——看起来你希望该值无论如何都是只读的......
推荐阅读
- java - 错误请求:400 错误请求
- angular - 如何解决 NullInjectorError: No provider for HttpClient!Ionic 4(Angular 8)中的问题
- r - 如何将负号从字符保留为数字
- r - 上传文件和部署功能- Shiny
- python - 网格迷宫返回元组而不是字符
- ruby-on-rails - 您的 Ruby 版本是 2.5.1,但您的 Gemfile 指定了 2.6.3
- c++ - 用于迭代不同类型向量的索引类型
- angular - 如何减少 FontAwesome 捆绑包的大小?
- javascript - 如何计算两个不同数组中每个对象的值并推送到新数组?
- javascript - 如何使“onload”等待“fetch”完成?