Father f = new Son();
你new 的是那个,你是有子类的实例哦

解决方案 »

  1.   

    这是java多态的体现
    Father f = new Son();f其实还是father的一个对象,不过引用了Son的对象
    这时有一个原则,当子类中有一个同名的成员变量时,f.变量时还是父类的成员变量
    当子类中有一个同名的成员函数时,f.函数时就是调用的子类的成员变量,子类的方法覆盖了父类的方法至于具体的原理我说不请,Thinking in java里称这个叫first binding和later binding,就是绑定啦!
      

  2.   

    Father f = new Son();f其实还是father的一个对象,不过引用了Son的对象
    不是吧?
    f只不过是个Father类句柄,不是对象。
      

  3.   

    虽然你NEW的是SON 但是因为Father 是SON的父类,但是你=的是Father所以他就向上造型 所以你创建的是Father类 当然是20了
      

  4.   

    Father f = new Son();应该就是产生了父类的一个实例