Javaのクラスとインターフェイスの違い
この投稿では、Javaのクラスとインターフェイスの違いを理解します。
クラス
-
オブジェクトが持つ必要のある属性と動作について説明します。
-
通常のメソッドだけでなく、抽象メソッドも含めることができます。
-
それを作成するためのキーワードは「クラス」です。
-
インスタンス化できます。
-
多重継承はサポートされていません。
-
クラスを継承できます。
-
クラスの親の名前(存在する場合)の前には、キーワード「extends」が付いています。
-
クラスのメンバーは、パブリック、プライベート、または保護されている可能性があります。
-
クラス本体は「{」と「}」で囲まれています。
-
変数は、静的変数、最終変数、または通常の変数である可能性があります。
インターフェース
-
クラスによって実装される動作が含まれています。
-
それを作成するためのキーワードは「インターフェース」です。
-
インスタンス化できません。
-
多重継承をサポートします。
-
抽象メソッドのみを含めることができます。
-
「extends」を使用してインターフェースを継承します。
-
すべての変数は静的で最終的なものです。
-
クラスを継承することはできません。
-
これはクラスの青写真です。
-
それは、クラスがそれをどのように達成すべきかではなく、クラスが何をしなければならないかを示します。
-
インターフェイスのメンバーはデフォルトでパブリックです。
-
Javaでのスレッドとランナブルの違い
新しい実行スレッドを作成するには、2つの方法があります。 1つは、クラスをThreadクラスのサブクラスとして宣言することです。このサブクラスは、Threadクラスのrunメソッドをオーバーライドする必要があります。その後、サブクラスのインスタンスを割り当てて開始できます。 スレッドを作成するもう1つの方法は、Runnableインターフェースを実装するクラスを宣言することです。次に、そのクラスはrunメソッドを実装します。次に、クラスのインスタンスを割り当て、スレッドの作成時に引数として渡して、開始することができます。 すべてのスレッドには、識別のための名前があります。複数のスレッドが同じ
-
抽象クラスとインターフェースの違い
抽象クラスは、デフォルトの動作を実装するインスタンスメソッドを持つことができます。インターフェイスは定数とインスタンスメソッドのみを宣言できますが、デフォルトの動作を実装することはできず、すべてのメソッドは暗黙的に抽象化されています。インターフェースにはすべてのパブリックメンバーがあり、実装はありません。