我正在编码接口.
我有一个接口A和一个实现它的B类.
我被告知我可以通过C扩展它来覆盖B的功能但是我被要求既不接触B也不接触C,然后用C替换B作为配置文件中的A的实现类.
我想我需要一个A中没有的方法,所以我需要在A中添加一个方法,我可以在C中实现.但我不允许触摸A.
有人可以帮助我完成这项工作吗?
谢谢.
编辑:
示例代码:
public interface A {
void X();
void Y();
}
B.java
public class B implements A {
public void X() {//something interesting}
public void Y() {//something not very interesting}
}
现在因为我不允许触摸A或B,我必须编写另一个C类并从B扩展它来做我的事情.
C.java
public class C extends B {
public void Y() {//overriding B's not very interesting Y and making it interesting}
}
现在我需要在C.java中使用另一个方法void Z()做我的事情,但是因为我正在编码接口A如果我在C.java上添加一个方法而使用A的引用变量我将无法调用Z()所以我必须在A接口中声明void Z()以及使用它,但如果我这样做,我将不得不触摸A,我不被允许.那么如何解决这个问题就是我一直想要问的问题.
基本上,我不能做以下事情:
A a = new C();
a.Z(); //can't do this
那么有没有办法让我在不触及A或B的情况下实现类似的目标呢?
博主在Java编码接口时遇到问题,有接口A和实现类B,需用C扩展B覆盖其功能,且不能修改A和B,要在C中添加新方法,但因接口A限制无法调用。博主询问在不触及A或B的情况下如何实现类似目标。
997

被折叠的 条评论
为什么被折叠?



