ホームページ >Java >&#&ベース >Javaインターフェースと抽象クラスの違い

Javaインターフェースと抽象クラスの違い

(*-*)浩
(*-*)浩オリジナル
2019-11-11 11:18:023401ブラウズ

Javaインターフェースと抽象クラスの違い

#インターフェース

概念

インターフェースは、特定の関数をカプセル化するコレクションです。動作のタイプを抽象化するには、インターフェイスの変更を使用します。 (推奨学習:

Java コース)

public interface InfClass {
    public void say();
}

抽象クラス

コンセプト

つまり、抽象メソッドを含むクラスは抽象クラスです。抽象メソッドにはメソッド本体のみがあり、実装はありません。抽象メソッドで変更されます。

abstract class AbsClass {
    abstract void say();
}

Java は、抽象クラスとインターフェイスの作成を提供およびサポートします。これらの実装には共通点がありますが、相違点は次のとおりです。

インターフェイス内のすべてのメソッドは暗黙的に抽象です。抽象クラスには、抽象メソッドと非抽象メソッドの両方を含めることができます。

#クラスは多くのインターフェイスを実装できますが、継承できる抽象クラスは 1 つだけです。

クラスは、によって宣言されたすべてのメソッドを実装する必要はありません。抽象クラスと抽象インターフェイス。もちろん、この場合、クラスも抽象として宣言する必要があります。

抽象クラスは、インターフェイス メソッドの実装を提供せずにインターフェイスを実装できます。

Java インターフェースで宣言された変数は、デフォルトでは Final です。抽象クラスには非最終変数を含めることができます。

Java インターフェイスのメンバー関数は、デフォルトでパブリックです。抽象クラスのメンバー関数は、プライベート、プロテクト、またはパブリックにすることができます。

インターフェイスは完全に抽象的であり、インスタンス化できません。また、抽象クラスもインスタンス化できません。

クラスがインターフェイスを実装する場合、そのインターフェイスのすべてのメソッドを実装する必要がありますが、抽象クラスは必ずしも実装する必要はありません

以上がJavaインターフェースと抽象クラスの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。