gpt4 book ai didi

Java method()++ VS method()+1

转载 作者:行者123 更新时间:2023-12-01 06:53:52 28 4
gpt4 key购买 nike

我正在尝试做Class.Method()++但这行不通。

简单的例子:

人员类别

public class person {
private int age;

public void age(int value) {
this.age = value;
}
public int age() {
return this.age;
}
}

在主类

以下语句出现有关 p1.age()++ 的错误:

public static void main(String[] args) {
person p1 = new person();
p1.age(p1.age()++); // Get an error
}

但是下面的效果很好:

public static void main(String[] args) {
person p1 = new person();
p1.age(p1.age()+1); // It works fine
}

主要问题:

为什么p1.age()++收到错误但 p1.age()+1不是吗?

附注:

我知道我能做到:

person p1 = new person();
int myAge = p1.age();
p1.age(myAge++);

最佳答案

因为

x++;

的缩写
x = x + 1;

在你的情况下是

p1.age() = p1.age() + 1; // ERROR

并且不能在赋值的左侧进行方法调用。

关于Java method()++ VS method()+1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17819677/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com