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