extend是类与类之间的关系,如果两个类A,B,你希望比具有A的全部特征,你可以让B继承(extends)A,同时也可以扩展自己的一功能
implements是类与接口之间的关系。接口定义了一系列的方法。
比如你有一个接口MP3,然后又两个类sony,ipod,这两个类都实现了mp3接口进而都具有mp3接口所定义的播放,停止,音量调节等功能。
类可以 extends类 叫做:“继承”(单继承)
接口可以extends接口 叫做:“扩展”
类可以implements 接口, 接口,... 叫做:“实现”
java是单继承多实现
子类 extends 父类 implements 接口, 接口, ...{
}
接口可以extends接口 叫做:“扩展”
类可以implements 接口, 接口,... 叫做:“实现”
这个要看实际的意义的,其实java中如果有继承关系,就用extends,没有继承关系的用implements。
很多时候两种都能实现相同的功能,更多的是看逻辑!
举个不太恰当的比方:你和你爸爸妈妈的长相之间是EXTENDS。你是子类,你爸爸妈妈是父类
你和你爸爸妈妈都要吃饭、看书、睡觉,这些动作你、你爸爸妈妈都implements接口,接口里声明了吃饭、看书、睡觉这些方法。
并且,extends不支持多重继承,implements支持多重。
类与类继承用extends
类继承接口用implements