java主要是什么 JAVA只可以单继承但是object又是每个类的超类,在这基础上类还可以继承一个类,是什么原理?
JAVA只可以单继承但是object又是每个类的超类,在这基础上类还可以继承一个类,是什么原理?1.Java只支持单继承,但是可以实现多个接口。如果A没有显示继承任何类,系统会默认继承Object类,
JAVA只可以单继承但是object又是每个类的超类,在这基础上类还可以继承一个类,是什么原理?
1.Java只支持单继承,但是可以实现多个接口。如果A没有显示继承任何类,系统会默认继承Object类,但是如果A显示继承了B,系统就不会给A默认继承Object了,但是A会继承B,B继承Object,相当于A间接继承了Object。
2.说到继承就会想到面向对象里面的一个原则:优先使用组合而不是继承。为什么了?
首先,继承和组合都是都可以达到代码复用的效果。个人觉得有以下几点考虑:
1.继承的父类也就继承了父类的成员,增加耦合性
2.父类有变动,会影响子类,而组合只需要确保接口稳定
3.子类继承父类在编译期就决定了,不能动态变化,而组合可以根据需要使用不同的实现类。
所以,组合更加灵活,具有可扩展性。
但是如果需要向上转型,或者明确类关系是is-a的关系还是需要使用继承的。
希望对你有帮助,可以关注我,持续分享Java方面知识,谢谢。