java 扩展接口_java – 如何扩展接口

博主在Java编码接口时遇到问题,有接口A和实现类B,需用C扩展B覆盖其功能,且不能修改A和B,要在C中添加新方法,但因接口A限制无法调用。博主询问在不触及A或B的情况下如何实现类似目标。

我正在编码接口.

我有一个接口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的情况下实现类似的目标呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值