哪个大神知道java中类的继承 和 接口的继承在JVM中有什么区别 ? 在线等!!

2024-12-25 23:33:03
推荐回答(3个)
回答1:

类和接口的区别就是类中的方法可以有具体的运行过程,而接口中的方法只是声明了一下,也就相当于只有一个名字,并没有具体的运行过程。
子类继承了父类后可以直接调用父类中的方法,而如果子类想要用接口中的方法就必须得自己实现。
现在有这么一种情况,如果A类继承了B类和C类,而B和C里面都有一个叫D的方法,当在A类中用super.D()这种方式调用D的话,请问是调用了B中的D还是C中的D,分不清了吧。
而如果A继承了E接口和F接口,E和F中都有一个G方法,当A想要用G方法时都必须得自己实现,也就是必须在A中重新写G方法。所以无论是E还是F,他们的G方法在A中都只有一种具体的实现方法,你可以说这个方法是实现的E中的G,也可以说是实现了F中的G,因为实际运行的都是A中具体实现的过程,不存在上面那种分不清的情况。
这就是Java只允许单继承却能实现多接口的原因。

回答2:

我新手,但我的理解是:
类不允许多重继承的主要原因是,如果A同时继承B和C,而b和c同时有一个D方法,A如何决定该继承那一个呢?
但接口不存在这样的问题,接口全都是抽象方法继承谁都无所谓,所以接口可以多继承。

回答3:

类只会单继承,接口本身没有数据,只有声明,会去找所有实现
具体的没必要深究吧?如果只是做开发的话