Java
 Computer >> コンピューター >  >> プログラミング >> Java

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

  1. Javaのイベントリスナーインターフェイスとイベントアダプタクラスの違いは何ですか?

    EventListener インターフェイスは、特定の種類のイベントに対してイベントハンドラーによって実装する必要があるメソッドを定義しますが、イベント アダプター クラスは、 EventListenerのデフォルトの実装を提供します インターフェイス。 イベントリスナー イベント リスナー イベントを処理するためのすべてのコンポーネントのバックボーンです。 特定のEventListenerのすべてのメソッド EventObjectのサブクラスであるインスタンスとして単一のパラメータを持ちます クラス。 EventListener インターフェースを拡張する必要があり、 jで定義さ

  2. Javaのインターフェース

    インターフェースはJavaの参照型です。クラスに似ています。これは、抽象的なメソッドのコレクションです。クラスはインターフェースを実装し、それによってインターフェースの抽象メソッドを継承します。 インターフェイスには、抽象メソッドに加えて、定数、デフォルトメソッド、静的メソッド、およびネストされた型も含まれる場合があります。メソッド本体は、デフォルトのメソッドと静的メソッドにのみ存在します。 インターフェイスの作成は、クラスの作成に似ています。ただし、クラスはオブジェクトの属性と動作を記述します。また、インターフェースには、クラスが実装する動作が含まれています。 インターフェイスを実装す