ビデオ: 第2回2016年度プログラム言語(Java)第3章 条件分岐と繰り返し 2025
Javaではインタフェースと抽象クラスの両方に抽象メソッドがあります。しかし、抽象メソッドは、これらの2種類の参照型でわずかに異なる役割を果たします。どのようにあなたの心の中でそれをまっすぐに保つことができますか?
まず、コードを記述する際に多くの習慣を持たずに、オブジェクト指向プログラミングの概念について学ぶ人は誰もいないことを覚えておいてください。もしあなたが混乱しているなら、それは良いことかもしれません。これは、あなたがどれほど複雑であるかを十分に理解していることを意味します。より多くのコードを書くほど、クラス、インターフェイス、そしてこれらの他のすべてのアイデアでより快適になります。
<! - 1 - >次に行うべきことは、抽象メソッドを宣言する方法の違いを整理することです。ここにその話があります。
通常(非抽象)クラスで | 抽象クラスでのインターフェイス | での抽象メソッドは許可されていますか? | |
いいえ | はい | はい | メソッド宣言に |
抽象的な キーワードを含めることはできますか? いいえ | はい | はい | メソッド宣言に |
デフォルトの キーワードを含めることができますか? いいえ | ありません | いいえ | |
抽象的な も デフォルト 抽象的なでもない | 抽象的な | 抽象的なでもない | <! - 2 - > |
インタフェースと抽象クラスは類似のビーストであり、Java 8の新機能により、以前のJavaバージョンよりもさらに似ていました。しかし、基本的な考え方は物事間の関係についてです。
<!サブクラスを拡張すると
は- の関係になります。 インタフェースの実装は、 できます
- 関係を表します。 インタフェースと抽象クラスの違いについて具体的な証拠が必要な場合は、次の点を考慮してください。クラスは多くのインタフェースを実装できますが、そのクラスが抽象クラスであっても、 Public class DogがHousePet
を宣言した後、
Dog
を
Friend
クラスに拡張することもできません。しかし、
Dog
は
Befriendable
インターフェースを実装することができます。そして、同じ
Dog
クラスを
Trainable
インターフェースを実装させることができます。
また、インターフェースと抽象クラスの間にも
以上の目に見える違いが欲しい場合は、ここをクリックしてください:インターフェースには、非静的ではないフィールドは含まれません。
だから。インタフェースと抽象クラスは互いに異なっています。しかし、あなたが新しいゲームであれば、その違いについて心配する必要はありません。できるだけ多くのコードを読み、抽象メソッドを見ても怖がらないでください。それがすべてです。
