首页 > 解决方案 > 如何在另一个类方法中修改一个类的对象

问题描述

我正在练习 OOP,并且有一个带有实例变量权重和吸气剂的 Person 类。我有另一个带有函数 weight(Person person) 的类,我试图将这个人的体重增加 1。这是我的 feed 方法,它将我的 person 类的人对象的权重增加 1

标签: javaclassoopmethods

解决方案


所以基本上有两个问题。

  1. getWeight()返回值是一个 int,在 Java 中是原始的。调用函数将返回位于对象内部的变量getWeight()的副本。weightPerson
  2. 在 Java 中,您不能为函数返回值赋值。如果要更改函数返回值的值,首先需要指向函数返回值的引用,然后通过该引用更改它。

您尝试做的通常解决方案是在Person类中编写一个 setter 方法。

public class Person {

    ...

    public void setWeight(int weight) {
        this.weight = weight;             
    }

}

Person在实例上调用此方法将更改其权重成员。


推荐阅读