インターフェイスと抽象クラス(Javaの7版)との差

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/Kennethdroid/article/details/90242805

あなたはしぶしぶものの、インターネットの時代にも、色の時代を見ているどの位置、どのようなあなたの状態、のように見えるが、実際

元の記事は、最初の公開のマイクロチャンネル番号「浮動バイト」に登場しました

8つの側面からBenpianはインターフェースと抽象クラスの違いを説明します。

抽象

抽象クラスインターフェースオブジェクトは、特徴複数の抽象クラスを同じ属性を含む標準として使用することができます。

属性(メンバ変数)

通常のJavaクラス宣言と抽象クラスのメンバ変数は、
メンバ変数インターフェイスがのみとすることができるのpublic static final型。

達成する方法

抽象クラスは、メソッドがabstractキーワード抽象的なにも使用することができます実装することができ、
インターフェースが実装された方法は存在しません、すべてのメソッドは、パブリック抽象メソッドです。

インスタンス化

そのほかは、インスタンス化できない以外抽象クラスのコンストラクタは、通常のJavaクラス間に差がないと、インスタンス化することはできません。
インターフェイスは、概念、構造的機能をインスタンス化されていません。

受け継ぎます

抽象クラスは、唯一の親クラスを持つことができますが、いくつかのインターフェイスを実装することができます。
インターフェイスは、複数のインタフェースを継承することができます。

サブクラス実装

;サブクラスが事の抽象種類のものであれば、それはすべての抽象メソッドに抽象クラスの実装を提供する必要があり、extendsキーワードを介して、サブクラスは抽象クラスを継承する
インタフェースを実装するサブクラスは、キーワードを実装して、あなたは、インターフェイスで宣言されたすべてのメソッドの実装を提供する必要があります。

アクセス修飾子

抽象クラスの抽象メソッドは保護され、公共のこと、およびこれらの修飾子をデフォルトすることができ、
インターフェイスメソッドのデフォルトの修飾子は、公開されている他の改質剤を使用していません

アクセス速度

同じ条件の下で、高速にアクセスするための抽象クラスのメソッドは、インタフェースは、クラスを実装する方法を見つけるために時間がかかり、インタフェースよりも高速です。

連絡先との交流

マイクロチャネル公共数
私の公共の番号
個々のマイクロ手紙
私のマイクロチャンネル

おすすめ

転載: blog.csdn.net/Kennethdroid/article/details/90242805