上面s调用g的时候有没有隐含的调用到Shape礼拜的g()呢?

解决方案 »

  1.   

    没有。
    如果想调用的话自己加super.g();
    class Circle extends Shape
    {
        public void g()
        {
        super.g();
    System.out.println("c.g()");
        }
      

  2.   

    有没有什么方法证明哈
    或许是调用了 只是没有显示出来
    而采用super只是显示的调用父类的方法呢
      

  3.   

    没有,这是个多态的问题,在派生类Circle中对基类Shape的g()方法进行了重写,当s.g()时直接调用派生类Circle中的g()方法打印c.g();如果没有重写的话就打印基类中的g()方法!!!
    Shape s = new Circle(); //多态的形式