Javaのインターフェースとクラスの違い
クラス
クラスは、個々のオブジェクトが作成される青写真です。クラスには、次の変数タイプのいずれかを含めることができます。
-
ローカル変数 −メソッド、コンストラクター、またはブロック内で定義された変数は、ローカル変数と呼ばれます。変数はメソッド内で宣言および初期化され、メソッドが完了すると変数は破棄されます。
-
インスタンス変数 −インスタンス変数は、クラス内の変数ですが、メソッドの外部にあります。これらの変数は、クラスがインスタンス化されるときに初期化されます。インスタンス変数には、その特定のクラスの任意のメソッド、コンストラクター、またはブロック内からアクセスできます。
-
クラス変数 −クラス変数は、staticキーワードを使用して、クラス内、メソッド外で宣言された変数です。
インターフェース
インターフェイスはJavaの参照型です。クラスに似ています。これは、抽象的なメソッドのコレクションです。クラスはインターフェースを実装し、それによってインターフェースの抽象メソッドを継承します。
インターフェイスには、抽象メソッドに加えて、定数、デフォルトメソッド、静的メソッド、およびネストされた型も含まれる場合があります。メソッド本体は、デフォルトのメソッドと静的メソッドにのみ存在します。
インターフェイスの作成は、クラスの作成に似ています。ただし、クラスはオブジェクトの属性と動作を記述します。また、インターフェースには、クラスが実装する動作が含まれています。
クラスとインターフェースの重要な違いは次のとおりです。
Sr。いいえ。 | キー | クラス | |
---|---|---|---|
1 | サポートされているメソッド | クラスには、抽象メソッドと具象メソッドの両方を含めることができます。 | インターフェイスは抽象メソッドのみを持つことができます。 Java 8以降では、静的メソッドだけでなくデフォルトメソッドも使用できます。 |
2 | 多重継承 | 多重継承はサポートされていません。 | インターフェイスは多重継承をサポートします。 |
3 | サポートされている変数 | final、non-final、staticおよびnon-static変数がサポートされています。 | 静的変数と最終変数のみが許可されます。 |
4 | 実装 | クラスはインターフェースを実装できます。 | インターフェースはインターフェースを実装できません。インターフェースを拡張できます。 |
5 | キーワード | クラスはclassキーワードを使用して宣言されます。 | interfaceはinterfaceキーワードを使用して宣言されます。 |
6 | 継承 | クラスはextendsキーワードを使用して別のクラスを継承し、インターフェースを実装できます。 | インターフェースはインターフェースのみを継承できます。 |
7 | 継承 | クラスはextendsキーワードを使用して継承できます。 | インターフェイスは、implementsキーワードを使用してのみ実装できます。 |
8 | アクセス | クラスには、プライベート、パブリックなど、任意のタイプのメンバーを含めることができます。 | インターフェイスはパブリックメンバーのみを持つことができます。 |
9 | コンストラクター | クラスはコンストラクターメソッドを持つことができます。 | インターフェイスにコンストラクターを含めることはできません。 |
クラスとインターフェースの例
JavaTester.java
public class JavaTester { public static void main(String args[]) { Animal tiger = new Tiger(); tiger.eat(); Tiger tiger1 = new Tiger(); tiger1.eat(); } } interface Animal { public void eat(); } class Tiger implements Animal { public void eat(){ System.out.println("Tiger eats"); } }
出力
Tiger eats Tiger eats
-
Javaのイベントリスナーインターフェイスとイベントアダプタクラスの違いは何ですか?
EventListener インターフェイスは、特定の種類のイベントに対してイベントハンドラーによって実装する必要があるメソッドを定義しますが、イベント アダプター クラスは、 EventListenerのデフォルトの実装を提供します インターフェイス。 イベントリスナー イベント リスナー イベントを処理するためのすべてのコンポーネントのバックボーンです。 特定のEventListenerのすべてのメソッド EventObjectのサブクラスであるインスタンスとして単一のパラメータを持ちます クラス。 EventListener インターフェースを拡張する必要があり、 jで定義さ
-
Javaのインターフェース
インターフェースはJavaの参照型です。クラスに似ています。これは、抽象的なメソッドのコレクションです。クラスはインターフェースを実装し、それによってインターフェースの抽象メソッドを継承します。 インターフェイスには、抽象メソッドに加えて、定数、デフォルトメソッド、静的メソッド、およびネストされた型も含まれる場合があります。メソッド本体は、デフォルトのメソッドと静的メソッドにのみ存在します。 インターフェイスの作成は、クラスの作成に似ています。ただし、クラスはオブジェクトの属性と動作を記述します。また、インターフェースには、クラスが実装する動作が含まれています。 インターフェイスを実装す