1.java只支持单一继承,但可以实现多个接口。如果未显示继承任何类,系统将默认继承对象类。但是,如果a显示继承b,则系统不会给出默认的继承对象,而是a将继承b,b将继承object,这相当于间接地继承对象。
2.谈到继承,您会想到面向对象的一个原则:优先考虑组合而不是继承。为什么?
首先,继承和组合都可以达到代码重用的效果。我认为有以下考虑:
1。继承的父类继承父类的成员以增加耦合度
2。如果父类发生变化,会影响子类,组合只需要保证接口的稳定性
3。子类在编译时继承父类,不能动态更改,但组合可以根据需要使用不同的实现类。
因此,组合更加灵活和可扩展。
但是,如果您需要向上移动,或者明确说明类关系是is-a关系,则仍然需要使用继承。
希望对您有所帮助,可以跟着我,继续分享java知识,谢谢。