たとえば、私たちは生活の中で犬や猫を動物として分類しますが、動物についてのみ話すときは、 、それが猫なのか犬なのか、それとも他のものなのかはわかりません。したがって、動物はいわゆる抽象クラスであり、猫と犬は具象クラスです。したがって、Java では、メソッド本体を持たないメソッドは抽象クラスとして定義し、クラスに抽象メソッドがある場合は抽象クラスとして定義する必要があります。
抽象クラスと抽象メソッドは、abstract キーワードを使用して変更する必要があります。
抽象クラスには必ずしも抽象メソッドがある必要はありませんが、抽象メソッドを持つクラスは抽象クラスである必要があります。
抽象クラスはインスタンス化できません。インスタンス化する必要がある場合は、ポリモーフィック形式を参照し、サブクラスを通じてインスタンス化してください。
サブクラスが抽象クラスを継承する場合、抽象クラス内のすべての抽象メソッドを書き直す必要があります。そうでない場合は、サブクラスが抽象クラスである必要があります。
メンバー変数: 変数または定数にすることができます。
構築メソッド: 構築メソッドはありますが、インスタンス化できないため、ポリモーフィック サブクラスを通じて実行する必要があります。目的は、データ初期化のために親クラスにアクセスすることです。サブクラス。
メンバー メソッド: 抽象クラスにすることもできます。サブクラスが完了する必要がある特定の動作を制限します。非抽象クラスにすることもでき、これによりコードの再利用性が向上します。 。
Interface は公開された仕様規格であり、クラスを表現するための追加条件であるため、仕様規格を満たしていれば使用できます。 Java のインターフェイスは主に動作の抽象化に反映されます。
# はキーワードインターフェースを使用して変更する必要があります。
クラスの実装インターフェースはimplementsで表現する必要があります
インターフェースはインスタンス化できません。インスタンス化したい場合は、を参照してください。インスタンス化はインターフェイス多態性と呼ばれます。したがって、ポリモーフィズムの主な形式は、具象クラス ポリモーフィズム、抽象ポリモーフィズム、およびインターフェイス ポリモーフィズムです。
インターフェイス実装クラス: インターフェイス内の抽象メソッドをオーバーライドするか、抽象クラスになります。
1. メンバー変数: 定数のみにすることができ、デフォルトでは「public static Final」によって変更されます。
2. 構築方法: インターフェースは主に動作を抽象化し、具体的な存在を持たないため、インターフェースには構築方法がありません。
注: クラスに親クラスがない場合、デフォルトで Object クラスを継承します。
3. メンバー メソッド:
抽象メソッド: インターフェイスのデフォルト メソッドは抽象メソッドです。デフォルトは変更用の public static abstract です。
デフォルト メソッド: デフォルト メソッドは、実装クラスにいくつかのメソッドを追加する必要がある場合に使用されるメソッドです。インターフェイスで default を使用して変更する必要があります。変更する必要はありません。実装クラスで書き換える必要がありますが、書き換える際にはdefaultを削除する必要があります。
静的メソッド: 静的メソッドはインターフェイスにのみ追加でき、実装クラスから呼び出すことはできません。インターフェイスからのみ呼び出すことができます。名前を付けて静的に変更します。
プライベート メソッド: プライベート メソッドは主にインターフェイスで使用され、プライベート キーワードで変更されます。メソッド内で同じコード セグメントをプライベートに記述することで、静的プライベート メソッドは静的メソッドでのみ変更できますが、非静的メソッドは非静的メソッドと静的メソッドの両方で変更できます。
抽象クラスは主に物事の抽象化であり、インターフェイスは主に動作の抽象化です。
以上がJava で抽象クラスとインターフェイスを定義して使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。