如何使用方法更改变量的值?

时间:2019-01-03 09:48:13

标签: variables instance

我在增加实例变量的值时遇到麻烦。我尝试过一种方法,这样对于我购买的每只宠物,它都会增加我已经拥有的宠物的数量。但是,当我打印dogs变量时,即使我加了2,它也显示为0。非常感谢您的帮助。谢谢!

公共类myStuff     静态int狗;     静态int猫;

public static void main(String[] args) {
    myStuff.buy(dogs, 2);
    System.out.println(dogs);

}
public static void buy(int pet, int howMany) {
    pet = pet + howMany;
}

}

2 个答案:

答案 0 :(得分:0)

您无法在Java中执行此操作,因为它是pass-by-value

答案 1 :(得分:0)

在Java中,方法参数按值传递(这意味着dogs的值在第一个Place中传递,但从未被传递)。但是,对象是通过引用来操纵的。因此,如果您想增加宠物的数量,可以使用值为Pet的类count

public class Pet {
    private int count;

    public Pet(int count) {
        this.count = count;
    }

    public int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }
}

如果您随后将Pet的实例传递给buy函数,并通过setCount增加计数,则将保存该值。