インターフェースと抽象クラスの共通点と相違点

共通点:

  1.どれもインスタンス化できない

  2.インターフェイスの実装クラスまたは抽象クラスのサブクラスは、メソッドをインターフェイスまたは抽象クラスに実装した後にのみインスタンス化できます

違い:

  1.インターフェースにはメソッド定義のみがあり、JDK1.8以降、デフォルトのメソッド本体を定義し、抽象クラスを定義または実装できます。

  2.実装と継承のキーワードが異なります。Javaは単一の継承のみをサポートしますが、複数の実装をサポートします

  3.インターフェイスは特定の機能の実現を強調し、後続のシーケンスの追加と削除に便利です。抽象クラスは所属関係を強調し、パブリッククラスになりがちですが、変更に適していません

  4.インターフェースメンバー変数のデフォルトはpublic static finalであり、初期値を割り当てる必要があります。すべてのメンバーメソッドはpublicおよびabstractです。抽象クラスのメンバー変数はデフォルトでデフォルトになり、サブクラスで再定義または割り当てることができます。抽象メソッドは抽象によって変更され、プライベート、静的、同期、ネイティブによって変更されました。

 

おすすめ

転載: www.cnblogs.com/dretrtg/p/12739997.html