私には2つのクラスがあります:
public class Increase {
public int a=3;
public void add(){
a+=5;
System.out.println("f");
}
}
class SubIncrease extends Increase{
public int a=8;
public void add(){
a+=5;
System.out.println("b" + a);
}
}
しかし、私が走るとき
Increase f=new SubIncrease();
System.out.println(f.a);
f.add();
System.out.println(f.a);
私はこの出力を得ました:
3
b13
3
誰かが私がこれが起こる理由を理解するのを手伝ってもらえますか?2番目の出力行に示されているように、属性の値がメソッドaddで変更されました...なぜ元の値に戻るのですか?