在c++中的多继承,造成了一定程度的冗余,例如,基类B和C继承自基类A,现在有一个基类D,继承自B和C,形成了一个菱形的继承关系,当创建一个D的实例时,会同时创建两个A类的构造器,这不仅在使用上要进行区分,还对内存造成了一定量的浪费。
现在我们回到java,假如有一个接口Inter,一个基类A(继承Object),这时有一个基类B继承基类A,同时实现接口Inter,如果说interface继承自Object类,那么又会出现在c++上的多继承冗余问题,这违背了java单继承的初衷,所以我认为是没有继承Object类的。
在代码方面可以这样测试一下。
System.out.println(Solution05.class.getSuperclass());//Object
System.out.println(MyInterface.class.getSuperclass());//null
感谢热心网友提出质问,我对代码进行了修改。(2022.4.4)