父类有个draw()成员方法
子类继承并重写draw()方法一个静态函数参数为父类引用,里面调用draw方法, 如何让这个静态函数只调用父类draw方法????就是c++的 base::f()这种调用

解决方案 »

  1.   

    既然是重写的话,如果传的是子类对象,肯定要调子类的draw方法请用java的思维与术语描述问题
      

  2.   

    在子类函数里使用super.draw();
      

  3.   

    如果你重写了父类的方法,那就得用:
    super.draw();
    否则直接
    draw();就可以了
      

  4.   


    public class HelloWorld {
    public void Draw()
    {
    System.out.println("class HelloWorld");
    }
    public static void main(String args[])
    {
    HelloWorld h1 = new HelloWorld();
    Child h2 = new Child();

    f(h1);
    f(h2);
    }

    public static void f(HelloWorld hw)
    {
    hw.Draw();//希望这个函数不管传进来什么类型都调父类的Draw()
    }
    }class Child extends HelloWorld
    {
    public void Draw()
    {
    System.out.println("class child");
    }
    }问题是这样的。。 不能用super.draw()