本帖最后由 seadog00 于 2009-11-23 11:56:23 编辑

解决方案 »

  1.   

    base who = new sub(),虽然你是通过sub来构建父类但是,你这里引用的还是base ,所以打印处
    who.var=basevar 
    是对的
      

  2.   

    既然是引用base,那为什么后面的who.method是引用sub的method方法呢?
      

  3.   

    方法是有多态的,sub类中的method方法覆盖了base类中的method方法。方法调用是运行期动态根据实际对象类型来调用的。base只是编译器类型。
      

  4.   

    谢谢楼上各位的回答,特别谢谢zhoupuyue。