しようとしているのです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
はありませんか?
PS :
私はこれができることを知っています:
person p1 = new person();
int myAge = p1.age();
p1.age(myAge++);