相关疑难解决方法(0)

682
推荐指数
15
解决办法
105万
查看次数

"A不能成为B的超级接口; 超级接口必须是一个接口"

这与此处提出的问题几乎相同.

但我的问题扩展了这一点.

我可以将它更改为"A extends B"但是我必须使我的方法非静态并且只是将我的整个系统拧紧.

有什么办法可以解决这个问题吗?

好吧,假设我有一个方法AA和方法BB的A级

public class  A {

    public static final BB (){

    }
     public static final AA (){

    }
  }
}
Run Code Online (Sandbox Code Playgroud)

现在我已经设置了另一个实现它的类,但它也拥有自己的方法AA和BB版本.

public class AImpl implements A {

    public BB (){

    }
     public AA (){

    }
  }
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我尝试扩展类,我将得到错误"实例方法不能覆盖来自A的静态方法".

所以它说我可以通过删除A类中的静态来解决这个问题.

我这样做然后它告诉我几乎所有其他可能50个类都不能从类A的方法BB中引用非静态方法.

java

-4
推荐指数
1
解决办法
6554
查看次数

标签 统计

java ×2

extends ×1

implements ×1

inheritance ×1

interface ×1