インターフェイスと抽象クラスとの間の差(フル)

抽象クラス インターフェース
デフォルトのメソッドの実装 デフォルトの方法では達成することができます デフォルトの方法はjdk1.8、jdk1.8サポートは、デフォルトでは、デフォルトの方法を実現するために始めた前に、このメソッドのデフォルトの実装が実現するために実装クラスを強制しません実現していることができません
実現 サブクラスは抽象クラスのサブクラスではないが、その後、すべての抽象クラス宣言メソッドを実装するためにサブクラス化した場合、抽象クラスを継承するキーワード拡張します インターフェースの実装を実現するためにサブクラス化し、サブクラスは全て、特許請求の範囲のインターフェースを実装する必要が
コンストラクタ あなたは持っていること 持っていません
そして、通常のJavaクラスとの違い インスタンス化しない抽象クラス、クラス、および通常のJavaの間に差がないことに加え インターフェイスは完全に異なるタイプです
mainメソッド そこ主な方法であってもよいし、実行することができます 主な方法が存在することはできません
多重継承 あなたは、クラスを継承し、複数のインタフェースを実装することができます 唯一の「継承」は、一つ以上の他のインタフェースすることができます
デフォルトの修飾子 次のデフォルトのアクセスを参照してください。 方法:パブリック抽象;プロパティ:パブリック静的決勝
デフォルトのアクセス 抽象クラスのデフォルトアクセス保護の方法、前にJDK 1.8は(公開および保護することができ)、JDK 1.8は、抽象クラスのメソッドのデフォルトのアクセスは、(パブリックまたは保護することができると書いていない)デフォルトになります デフォルトインターフェース方法、前JDK 1.8、(公共使用のみ)パブリックである必要があり、JDK 1.8、パブリックデフォルトインターフェースの方法、デフォルトであってもよい(および公開デフォルトであってもよい)、場合JDK 1.9プロセスは、(デフォルトおよびパブリックとプライベートでもよい)プライベート・インタフェースであってもよいです
公開された46元の記事 ウォン称賛16 ビュー6320

おすすめ

転載: blog.csdn.net/Jarbein/article/details/103991504