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