解决方案 »

  1.   

    super关键字只能在成员方法中调用。而且如果子类已经重写了父类的某个方法,除了在子类重写的这个方法之外,不应该再调用被重写的那个父类方法。
      

  2.   

    大哥,你子类的那个方法没有重写父类的方法,静态方法不能被重写,所以你的子类的那个方法和父类的没有关系,没法super
      

  3.   

    Cannot use super in a static context
    //不能在静态上下文中使用super方法
    //也不能用super调用static方法
    package test;class Z {
     void f() {
    System.out.println("Hello!");
    }
    }class test extends Z {
    void f() {
    System.out.println("Goodbye!");
    super.f();
    } public static void main(String[] args) {
    test bb = new test();
    bb.f();
    }}
      

  4.   

    或者你可以在main函数里面直接用Z.f();
      

  5.   

    你都不理解super是什么意思,
    这也太基础了吧.
    super是父类对象,当然不能用在类方法中.super用法和this一模一样.
      

  6.   

    Z z = new B();
    z.f();
    编译类型和运行不一致,所以产生多态.当运行的时候, z才知道实际指向的是B类型,所以会调用子类中覆盖的方法.