疑問は、メソッドの実装とインターフェイスを持つ単純なクラスの間にあります。抽象クラスではありません。リストクラスを作成し、すべてのメソッドの実装を行い、配列リストまたはリンクリストを作成して拡張するのはなぜですか?メソッドの実装は同じではありません。なぜクラスではなくインターフェイスが一覧表示されます
0
A
答えて
7
いいえ、実装は同じではありません。リンクリストには、二重にリンクされたノードの集合が含まれており、高速挿入/削除用に最適化されています。配列リストは参照の配列によってサポートされており、ランダムアクセスに最適化されていますが、要素が追加および削除されるにつれ効率が低下します。
インターフェイスとしてList
を定義すると、呼び出し元は内部の詳細にかかわらずリストベースのセマンティクスを適用できます。
1
Javaでは、多重継承はできません。したがって、クラスextends
が別のクラスであれば、他のクラスを拡張することはできません。 interface
の実装は制限されていません。 1つのクラスを持つ複数のインターフェイスをimplement
にすることができます。
関連する問題
- 1. WCF Data Servicesコレクションが一覧表示されないのはなぜですか?
- 2. Goのインターフェイスの一覧表示
- 3. が表示されなくなるのはなぜですか?
- 4. シェルスクリプトが "*"になると、ファイルとディレクトリの一覧が表示されるのはなぜですか?
- 5. なぜFirefoxでは正しく表示されますが、Chromeでは正しく表示されません
- 6. なぜHttpContextはインターフェイスではなく抽象クラスですか?
- 7. EclipseがJavaパッケージ内のクラスを一覧表示しない
- 8. アクティブな(実行中の)アプリケーションの一覧を一覧表示で表示する
- 9. ブートストラップサムネイル一覧にサムネイルが表示されない
- 10. ストリームライターが削除されたフォルダーを一覧表示しない
- 11. カテゴリ一覧のJoomla 1.7の記事が表示されない
- 12. 新しく作成したレスポンスグループワークフローが一覧に表示されない
- 13. Visual Studioで[インストールされた製品]が表示される正確な一覧
- 14. パターンが一致しないファイルを一覧表示します。
- 15. ユーザーはポリシーなしでバケットを一覧表示できます
- 16. FirefoxではJPGが表示されますが、IEでは表示されないのはなぜですか?
- 17. odooインターフェイスが正しく表示されない
- 18. なぜピッカーではなく黒いフレームが表示されますか?
- 19. なぜenum、インターフェイスがエラーを予期して表示されますか?
- 20. 拡張クラスのコンパニオンオブジェクトコンポーネントが表示されないのはなぜですか?
- 21. HibernateコンフィグレーションでXML内のすべてのエンティティが一覧表示されない
- 22. Visual Studioのコンソールが表示されなくなるのはなぜですか?
- 23. Vueコンポーネントが表示されないのはなぜですか? (単一ファイルコンポーネント)
- 24. エンティティフレームワークの完全なエンティティではなく、結合されたエンティティプロパティを一覧表示する方法
- 25. C#MVC Ajaxの子が一覧表示されます
- 26. なぜVSメタデータビューに明示的なインターフェイス実装メンバーが表示されないのですか
- 27. タイムラインにJavaScriptのメモリリークが表示されますが、ヒープスナップショットは表示されないのはなぜですか?
- 28. FirefoxでSVGが正しく表示されないのはなぜですか?
- 29. イメージスライドショーでスライドショーが正しく表示されないのはなぜですか?
- 30. プロットエリアグラフでデータが正しく表示されないのはなぜですか?
他のリストの実装では、何も他のものが決して拡張されない可能性があります。 – QBrute
@QBroute:わかりましたが、それは答えですが、コメントではありません。 –
"抽象クラスではない"場合、すべてのメソッドの実装を提供する必要があります。どの実装を使用しますか?アレイによってバックアップされるArrayListのようなものかもしれません。しかしその場合、LinkedListのような他のリストをどのように作成しますか?その 'List'(実際にはArrayList)を拡張する必要がありますが、配列保持用のフィールドのような余分なものをすべて継承します。リストはより直感的です。 – Pshemo