copy from :https://blog.csdn.net/youyou_go/article/details/83539537
一、
extends是繼承類,implements是實現接口。
類只能繼承一個,接口可以實現多個。
extends繼承父類的時候可以重寫父類的方法,也可以調用父類的非私有方法;implements實現接口,必須實現接口的所有方法。
二、
extends后面跟的是類,表示繼承關系;
如public class Dog extends Animal
implements后面跟的是接口,表示實現接口(可以是多個);
如public class Dog implements Runner
三、
繼承這個可以理解為繼承父類的方法,父類中的方法可以在子類中用到;
實現接口就是在接口中定義了方法,這個方法要你自己去實現,接口可以看作一個標准,比如定義了一個動物的接口,它里面有吃(eat())這個方法,你就可以實現這個方法implements,這個方法是自己寫,可以是吃蘋果,吃梨子,香蕉,或者其他的。IMPLEMENTS就是具體實現這個接口。
四:
implements 也是實現父類和子類之間繼承關系的關鍵字,如類 A 繼承 類 B 寫成 class A implements B{}.
五:
extends, 可以實現父類,也可以調用父類初始化 this.parent()。而且會覆蓋父類定義的變量或者函數。這樣的好處是:架構師定義好接口,讓工程師實現就可以了。整個項目開發效率和開發成本大大降低。
implements,實現父類,子類不可以覆蓋父類的方法或者變量。即使子類定義與父類相同的變量或者函數,也會被父類取代掉。
總結:
這兩種實現的具體使用,是要看項目的實際情況,需要實現,不可以修改,用implements,只定義接口需要具體實現;可以被修改擴展性好,用extends。
————————————————
版權聲明:本文為CSDN博主「Jack++」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/youyou_go/article/details/83539537