可能无法完成以下操作(我收到编译错误:“继承的方法 A.doSomthing(int) 无法隐藏 B 中的公共抽象方法”):
public class A {
int doSomthing(int x) {
return x;
}
}
public interface B {
int doSomthing(int x);
}
public class C extends A implements B {
//trying to override doSomthing...
int doSomthing(int x) {
return doSomthingElse(x);
}
}
假设我既不被允许更改 A 也不被允许更改 B,我的问题是我能否以某种方式定义 C,使其继承自 A 和 B(假设某些框架要求 C 既是 A 的实例,又是 A 的实例)和 B)。
或者如果没有,您将如何解决这个问题?
Thanks!
将方法公开
public class C extends A implements B {
//trying to override doSomthing...
public int myMethod(int x) {
return doSomthingElse(x);
}
}
接口方法总是public
或者只使用组合而不是继承
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)