java - 如何在另一个类方法中修改一个类的对象
问题描述
我正在练习 OOP,并且有一个带有实例变量权重和吸气剂的 Person 类。我有另一个带有函数 weight(Person person) 的类,我试图将这个人的体重增加 1。这是我的 feed 方法,它将我的 person 类的人对象的权重增加 1
解决方案
所以基本上有两个问题。
getWeight()
返回值是一个 int,在 Java 中是原始的。调用函数将返回位于对象内部的变量getWeight()
的副本。weight
Person
- 在 Java 中,您不能为函数返回值赋值。如果要更改函数返回值的值,首先需要指向函数返回值的引用,然后通过该引用更改它。
您尝试做的通常解决方案是在Person
类中编写一个 setter 方法。
public class Person {
...
public void setWeight(int weight) {
this.weight = weight;
}
}
Person
在实例上调用此方法将更改其权重成员。
推荐阅读
- algorithm - 找到中心并放大所有 LatLng
- python - 使用函数时,return 语句在 python 3.6.3 中不起作用
- splunk - 如何仅从多值字段中提取匹配字符串并显示在 SPLUNK 查询的新列中
- rust - 如何将一个项目推入 Vec 并继续使用它?
- python - 如何在 Python Pulp 中编写复杂的约束
- python - 如何修复“导入 keras 不工作”错误
- javascript - 异步等待不能使用两个函数
- arrays - C - 从文本文件复制文件时数组不起作用
- c - 从值计算枚举“字符串”
- vee-validate - 如果使用 jQuery 设置输入/文本框,VeeValidate 不会更新