ホームページ  >  記事  >  Java  >  Javaの抽象クラスとインターフェースの違いは何ですか

Javaの抽象クラスとインターフェースの違いは何ですか

青灯夜游
青灯夜游オリジナル
2018-11-26 16:12:094523ブラウズ

Java の抽象クラスとインターフェイスの違いは何ですか?この記事では、抽象クラスとインターフェイスの違いを紹介します。困っている友人は参考にしていただければ幸いです。

Java では、抽象クラスとインターフェイスはどちらも抽象化を実現するために使用されますが、両者の違いは何でしょうか?抽象クラスとインターフェイスの違いについて説明する前に、まず抽象クラスとインターフェイスの特性を見てみましょう。 [推奨関連ビデオチュートリアル: Java チュートリアル]

抽象クラス

抽象クラスはサブクラスをキャプチャするために使用されます 普遍的な特性つまり、車、自転車、電動スクーターなどの共通点があるものはすべて車であり、Vehicle という共通の抽象クラスを持つことができます。抽象クラスはインスタンス化できず、オブジェクトの作成に使用できず、サブクラスのスーパークラスとしてのみ使用できます。

#インターフェース

インターフェースは、抽象メソッドのコレクションです。クラスがインターフェイスを実装する場合、クラスはこのインターフェイスのすべての抽象メソッドを継承します。

注: 抽象メソッドは、宣言のみを持ち、特定の実装を持たない特殊なメソッドです。

インターフェイスは単なるフォームであり、それ自体では何も実行できません。インターフェイスを実装したい場合は、このインターフェイス内のすべてのメソッドを必ず実装する必要があります。

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

1. 抽象クラスは抽象メソッドと具象メソッドの両方を持つことができますが、インターフェイスは抽象メソッドのみを持つことができます。メソッド。抽象メソッドのコレクションです (Java 8 以降では、デフォルト メソッドと静的メソッドも含めることができます)。

2. 抽象クラスは多重継承をサポートしません。一度に 1 つのクラスまたは 1 つの抽象クラスのみを拡張できます。インターフェイスは複数の継承をサポートしており、任意の数のインターフェイスを一度に拡張できます。

3. 抽象クラスには、最終変数、非最終変数、静的変数、および非静的変数を含めることができます。インターフェイスには静的変数と最終変数のみがあります。

4. 抽象クラスは、別の具象 (通常) クラスまたは抽象クラスを拡張し、1 つ以上の Java インターフェイスを実装できます。インターフェイスは別の Java インターフェイスを拡張することしかできず、インターフェイスは抽象クラスを実装できません。

5. 抽象クラスでは、メソッドを抽象として宣言するにはキーワード「abstract」が必要です。インターフェイスでは、キーワード「abstract」はオプションであり、メソッドを abstract

7 として宣言するために使用されます。キーワード「extends」を使用して抽象クラスを拡張できます。インターフェイス クラスは、キーワード「implements」を使用して実装できます。

8. Java 抽象クラスは、protected および public 抽象メソッドを持つことができ、private、protected などのクラス メンバーを持つことができます。デフォルトでは、Java インターフェースのメンバーはパブリックであり、インターフェースにはパブリック抽象メソッドのみを持つことができます。

要約: 以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。

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

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