抽象クラス (推奨学習: java コース)
抽象クラスを使用する必要があります修正として、サブクラスは抽象クラスに抽象メソッドを実装する必要があり、未実装のメソッドがある場合はサブクラスも抽象で修飾する必要があります。抽象クラスのデフォルトの権限修飾子は public で、public または procted として定義できます。private として定義されている場合、サブクラスはそれを継承できません。抽象クラスはオブジェクトを作成できません
抽象クラスと通常のクラスの違い
抽象クラスは public および procted で変更する必要があります (private で変更した場合、サブクラスは を継承できません。そしてその抽象メソッドは実装できません)。デフォルトは public です。
抽象クラスはオブジェクトを作成できません
サブクラスが抽象クラスを継承する場合、そのすべての抽象メソッドを実装する必要があります。未実装の抽象メソッドがある場合は、abstract として定義する必要があります
Interface
インターフェイス内の変数は public static Final で暗黙的に変更され、初期化が必要です。価値が与えられる。
メソッドは、パブリック抽象を使用して暗黙的に変更されます (パブリックにのみ指定できます。プライベートまたはプロテクトされた場合は、コンパイル中にエラーが報告されます)。
インターフェイス内のメソッドは、デフォルトでは特定の実装を持つことができません (デフォルトの実装は JDK1.8 以降で利用可能です)
インターフェイスと抽象クラスの違い
抽象クラスは 1 回しか継承できませんが、複数のインターフェイスを実装できます
インターフェイスと抽象クラスは、その中のすべてのメソッドを実装する必要があります。抽象クラスに実装されていない抽象メソッドがある場合は、の場合、サブクラスも抽象クラスとして定義する必要があります。抽象クラスには非抽象メソッドを持つことができます
インターフェイス内の変数は public static Final で変更する必要があり、初期値を指定する必要があります。 したがって、実装クラスを再定義したり、その値を変更したりすることはできません。
インターフェイス内のメソッドはデフォルトでパブリック抽象であり、このタイプのみにすることができます。 静的にすることはできません。インターフェイス内のメソッドはサブクラスによってオーバーライドすることはできません。静的メソッドは抽象クラスで許可されます。
以上がJavaのインターフェースと抽象クラスの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。