- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Javaコレクションフレームワークの、クラス型とインタフェース型の使い分けについて)
Javaコレクションフレームワークのクラス型とインタフェース型の使い分けについて
このQ&Aのポイント
- Javaコレクションフレームワークのクラス型とインタフェース型の使い分けについてを解説します。
- クラス型とインタフェース型の使い分けは、個々の要件や制約によって異なります。
- インタフェース型の方がメソッドの種類が多いですが、抽象メソッドなのでオーバーライドして使うことができます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
基本的にはインターフェースを使うのがよく、特別な必要があるときのみクラス型の変数を使います。 これは、第一にはインターフェース型の変数を使用していれば、実装にしばられず、必要があれば使用するインスタンスのクラス(実装クラス)を挿げ替えることができるからです。 なお、インターフェースしか使えない、ということはありませんし、実装クラスをインターフェースに代入したからといって使えるメソッドの種類が増えることもありません。 例えば、Queue<E> queue = new LinkedList<E>();のようにQueueインターフェースを使えば、LinkedListに備わっているメソッドの一部は使えなくなりますが、これは「良いこと」とされます。Queueインターフェースを使うことで、このオブジェクトがキューとして使われることが自然に保障され、余計なバグを埋め込む余地が減ったりといったメリットがあるからです。
お礼
とても勉強になりました、ありがとうございます。