タイトルと同様です。 Javaのインタフェースと抽象インタフェースの違いは何ですか?Javaのインタフェースと抽象インタフェースの相違点
1
A
答えて
8
Javaには抽象インターフェースはありません(デフォルトでインターフェースは抽象抽象クラスです)。抽象クラスがあります。
抽象クラスとインタフェースの主な違いは、抽象クラスが通常のクラスと同じように継承(拡張)されるため、2つを並列に拡張できないことです。同時に複数のインタフェースを実装できます時間。
3
抽象的なキーワードは、Javaインタフェースを使用しているときは廃止されています。実装は含まれていませんが、定義は含まれています。
-1
抽象クラスは、少なくとも1つのメソッドが実装されていないクラスです。そのため、メソッドのヘッダーを書き込む前にキーワード「abstract
」を使用することが必須です。
これに対して、すべてのメソッドが抽象クラスであるため、abstract
キーワードを使用する必要はありません。
2
インターフェイスはすでに抽象です。 OOPに関連する重要な用語「抽象的」は、自分自身のインスタンスを作成できないことを意味しており、そこから独自のオブジェクトを派生できる基本クラスとしてのみ使用できます。
インターフェイスは、コードそのものを定義するのではなく、インターフェイスでメソッドの機能を提供するクラスによって実装する必要があるという点で抽象です。
インターフェイスの前面に「抽象」という言葉を追加することができます。何も別のことは起こりません。しばらく前のJavaのドキュメントでも、作者はインターフェイスの表現に「抽象」を含めることによってエラーを作りました。
しかし、すべてのインターフェイスが抽象的であり、違いがないことを知る必要があります。
関連する問題
- 1. OOPの原理インタフェースと抽象クラスの相違点
- 2. 概念上の相違点:完全抽象クラスv。インタフェース
- 3. 抽象とインタフェースは、Java
- 4. インタフェースと抽象クラス
- 5. インタフェースと抽象クラス?
- 6. インタフェースと抽象クラス
- 7. インタフェースと抽象化
- 8. 抽象クラスとのインタフェース
- 9. インタフェースと抽象クラスのコンストラクタ?
- 10. PHP抽象クラスとインタフェース
- 11. 抽象クラスV/sのインタフェース
- 12. Javaの抽象クラスは、私はそれを実装して、次のインタフェースと抽象クラスを持つインタフェース
- 13. この場合のインタフェースと抽象クラス
- 14. インタフェース対抽象クラスC++
- 15. インタフェース対100%抽象クラス
- 16. インタフェースと純粋な抽象クラスのJVM実装の違いは?
- 17. 抽象クラスとJavaでのインタフェースの問題
- 18. インタフェース/抽象メソッドの戻り型としてのJava拡張クラス
- 19. Javaの抽象クラス/インタフェースと指定型パラメータ
- 20. Javaのインタフェース/抽象クラスの動的実装
- 21. Java OOPの問題 - インタフェース/抽象クラスに関連する
- 22. 抽象クラスと非抽象クラスから派生する相違点
- 23. 私のアプリケーションに特有のインタフェースと抽象クラスの使用?
- 24. PHPでのインタフェースと抽象クラスの重要性
- 25. インタフェースと抽象クラスの関数のJavaスコープが異なる理由
- 26. Java - ファイルへのインタフェースの抽出
- 27. 抽象クラスとインタフェースをいつ使用するのですか?
- 28. Pythonのインタフェースと継承を使用したマルチレベル抽象化
- 29. インタフェースと抽象クラスの記述的命名規則
- 30. 抽象クラスとインタフェースのオブジェクトを作成する
Strange。私はjarファイルを逆コンパイルして、抽象的な抽象インターフェースBlahを見つけました。したがって、疑問。それはまだコンパイルされていますが、それは変です。 – Brad
@Bradそれは実際にはデコンパイラのバグです。すべてのインターフェイスは常に抽象です。 (推測すると、 "抽象抽象"ビットがクラス記述子に設定されているので、逆コンパイラは逆コンパイルされた出力でその語を発行しているので、インタフェースでもありません。それを受け入れます;それはここで "ほとんど無害"だと思います) –