首先明确 Java 为了解决 “致命方块“问题不允许多继承,就是因为若多个父类中出现相同方法,在子类中调用 burn( ) 无法得知调用的是那个父类的 burn( ) 的二义性问题。
Java 虽然不支持多继承,但是它支持多接口实现的问题,若是在开发中,实现多个接口且接口出现多个重复的抽象方法时,此抽象方法该如何实现 ?
首先明确一点,当类实现其中的一个就可以了,相当于实现了两个 。
如何强行实现出两个接口各自的抽象方法 ?
若有需求需要实现出接口两个不同的抽象方法该如何做 ? 答:** 内部类** ,但无法让两个函数名保持一致
//1.接口A的runpublic interface interA { public abstract void run();}//2.接口B的runpublic interface interB { public abstract void run();}//3.模块实现接口A,B不同的方法public class Demo implements interA{//4.通过内部类的方式实现private class IterBImpl implements interB{@Overridepublic void run() {System.out.println("This run from InterB....");}}@Overridepublic void run() {System.out.println("This run from InterA....");}//5.通过参数区分调用不同接口的方法public void run(int i){IterBImpl it=new IterBImpl();it.run();}}public class TestClass {public static void main(String[] args) {Demo1 demo1=new Demo1() ;demo1.run(); //调用接口Ademo1.run(1); //调用接口B}}

