之前一直认为java是单继承的,但那只是对类,今天学习Spring首次看到了多继承,顺便搜到了一篇笔记:
接口是常量值和方法定义的集合。
java类是单继承的:
classB Extends classA
java接口可以多继承:
Interface3 Extends Interface0, Interface1, interface……
不允许类多重继承的主要原因:
如果A同时继承B和C,而B和C同时有一个D方法,A如何决定该继承那一个呢?且从面对对象的概念上,类的单继承也有好处,即继承关系始终是从模糊到具体、从大范围到小范围,更符合人们的认知。
接口不存在继承无法取舍问题,接口全都是抽象方法继承谁都无所谓,所以接口可以继承多个接口。且从理论上,接口只是关注点,不是对象的抽象,区别于类。
1、一个类如果实现了一个接口,则要实现该接口的所有方法。
2、方法的名字、返回类型、参数必须与接口中完全一致。如果方法的返回类型不是void,则方法体必须至少有一条return语句。
3、因为接口的方法默认是public类型的,所以在实现的时候一定要用public来修饰(否则默认为protected类型,缩小了方法的使用范围)。