求大神告诉我这题的正确答案,并加以详细说明。

解决方案 »

  1.   

    编译错误,father类里面没有 method()
      

  2.   

    编译出错啊 Father类没有method这个方法
    关于多态,你只要记得编译看左边,运行看右边的原则
    编译的时候是看声明的类有没有这个方法,有就编译通过,没有就报错
    运行的时候是看具体new出来的子类,如果子类有这个方法,就调用子类的方法,如果没有,就调用父类的方法
      

  3.   

    base打点掉不到method()方法的。。..原因:父类只能调用自身或自身父类的方法,或自身子类重写的方法;此处的method()是father类的子类的特有方法。
      

  4.   

    D   父类不能直接调用子类方法。若想需向下强转 将Father转为Son。((Son)base).method();
      

  5.   

    你声明的是一个子类对象,但是属性是父类的,父类没有那个方法,编译肯定出错,你要把父类对象base强转为子类才可以!