Java中在从父类中继承的成员变量在子类改变,怎么父类(super.num)的成员也一起改变?

  1. class Father {
  2.     protected int num = 10;
  3.     public void setNum(int num) {
  4.         this.num = num;
  5.     }
  6.     public int getNum() {
  7.         return num;
  8.     }
  9. }
  10. class Child extends Father {
  11.     public void show() {
  12.         System.out.println(num);            // 20
  13.         System.out.println(this.num);       // 20
  14.         System.out.println(super.num);      // 20
  15.     }
  16. }
  17. public class TestExtends01 {
  18.     public static void main(String[] args) {
  19.         Child child = new Child();
  20.         //child.show();
  21.         child.setNum(20);
  22.         child.show();
  23.     }
  24. }

为什么super.num也变成20值的呢?不明白为什么?

标签