java如何在包装类中重写方法?
我定义了以下类
class Class2 implements ICommon {
....
ICommon wrappedClass;
//delegate interface methods to wrapped class
}
class Class1 implements ICommon {
//interface methods
//specific methods
public void method1() {
......
}
}
我需要使Class1
覆盖Class2
的method1()
,但是我仍然希望实现ICommon
接口。有没有办法做到这一点
# 1 楼答案
你可以让Class1成为一个接口
或者让Class1扩展Class2(通过这样做,Class1仍然实现ICommon,因为Class2实现了ICommon)
# 2 楼答案
您不能在不扩展的情况下重写。Class2必须扩展Class1,然后您将能够重写
要知道,这种设计意味着每个Class2都是Class1,就像每个蚂蚁都是Bug一样
# 3 楼答案
你是说,只是:
那应该很好,不是吗?你甚至不需要
implements ICommon
,因为Class
已经这样做了,我只是把它放在那里,以表明它确实这样做了清楚地说,这不需要对
ICommon
进行任何更改# 4 楼答案
Class2已经实现了IComm接口,所以Class1间接地实现了它