FatherClass Create
ChildClass Create
Child aa

解决方案 »

  1.   

    结果应该是:
    FatherClass Create
    ChildClass Create
    Child aa
      

  2.   

    FatherClass f1=new ChildClass();
    不是向上转型么?
    那f1的对象应该是FatherClass 的对象,
    那调用aa()方法为什么还是ChildClass类中的aa()方法啊?
    帮忙解释一下啊!!!!
      

  3.   

    FatherClass Create
    ChildClass Create
    Child aa
     先调用父类的构造函数,再调用子类的
    aa()b被覆盖
      

  4.   

    FatherClass f1=new ChildClass();
    不是向上转型么?
    那向上转型有什么用?
    这里和用ChildClassf1=new ChildClass();的效果是一样的么?
      

  5.   

    Result:FatherClass Create
    ChildClass Create
    Child aa原因:
    FatherClass f1 = new ChildClass();
    确实是将一个Child实体向上转型为Father类型,
    向上转型的优点在于多态性,可以让你忘记型别,更加关注于抽象概念,
    另外向上转型也可以封装底层的实现,在你需要他时,他会自动绑定至你所需要的类型上。ChildClassf1=new ChildClass();
    唯一指定了一个Child类型,缺乏可维护和灵活性关于向上转型的特点其实关注到了面向对象的概念与模式,
    如果是初学可以参看《Thinking in Java》
    @.@||~