1、菱形继承菱形继承用通俗的话来说就是A继承B和C,B和C又继承于D。
直接看照片就清楚了
但是,由于java不允许抽象类的多继承,所以用接口代替
public interface D{ void D (; }公共接口c { void c (; }公共接口b { void b (; } public interface A implements B,C{ @Override public void B () system.out.println ) ' b ); } @ overridepublicvoidc ((system.out.println ) ) c ); } @Override public void D (() system.out.println ) ' d ); } publicstaticvoidmain (string [ ] args ) { B t1=new A ); C t2=new A (; t1.B ); t1.D (; t2.C (; t2.D (; 我发现java不会像c那样报告错误。 然后通过StackOverFlow进行了调查,发现Java中不存在菱形继承引起的问题。 这是因为用同样的方法签名的两个方法会被合并为一个。