1:假如A、B接口中的抽象方法完全相同(包括返回值也相同),继承多接口A、B,实现一个方法就可以了。
2:万一就一个返回值不同的话:就得再定义一个接口C,用来解决这个特殊情况了。
见代码:- interface A //接口A
- {
- public void show();
- }
- interface B //接口B
- {
- public int show();
- }
- interface C //针对A、B中抽象方法返回类型不一致且必须还得覆写的特殊情况:再定义一个接口C:用来获取B接口
- {
- public B getB();
- }
- public class D implements A,C //类D多继承接口A、C
- {
- public void show() //实现A中的抽象方法
- {
- System.out.println("A中的抽象方法");
- }
- public B getB()
- {
- return new B()
- {
- public int show() //实现B中的抽象方法
- {
- System.out.println("B中的抽象方法");
- return 0;
- }
- };
- }
- public static void main(String[] args)
- {
- A a = new D();
- B b = new D().getB();
- a.show();
- System.out.println("............");
- b.show();
- }
- }
复制代码 运行结果:- A中的抽象方法
- ............
- B中的抽象方法
复制代码 |