Javaの次のキーワードの違いは何ですか:implements
、extends
?
interface
は、class
がどのように振る舞うべきかという抽象的な仕様であり、class
はそのような仕様の具体的な実装です。
したがって、あなたがimplements
を書くとき、あなたはあなたが書いた実装のいくつかの抽象的な仕様を満たしていると言っています。
extends
は、実装(class
)または仕様(interface
)のいずれかを取得し、異なる機能または新しい機能を追加する(またはその動作の仕様を変更する)ことを意味します。したがって、その動作を変更し、extend-ingします。
クラスは別のクラスを拡張し、インターフェイスを実装します。 interfaceは別のインターフェイスを拡張します。
インターフェースにはメソッドが実装されていないため、定義済みのメソッドはすべて空です。したがって、クラスをインターフェースから継承する場合は、実装メソッドである必要があります。ただし、Class1がClass2を継承する場合、既にいくつかの作業メソッド(Class2から)があり、ちょうどextends Class2です。