indexOf()
のサブクラスでメソッドをオーバーライドする方法を知りたいですArrayList
。そのスーパーからプライベートelementData
一時変数への同じアクセスを使用する必要があります。
どうすればデザインを解決できますか?
編集: elementData[i] への呼び出しを同様の this.get(i) に変更することは有効な解決策でしょうか(実際に許可されていますか?)。何らかの理由でロジックが破損したり壊れたりしますか?
indexOf()
のサブクラスでメソッドをオーバーライドする方法を知りたいですArrayList
。そのスーパーからプライベートelementData
一時変数への同じアクセスを使用する必要があります。
どうすればデザインを解決できますか?
編集: elementData[i] への呼び出しを同様の this.get(i) に変更することは有効な解決策でしょうか(実際に許可されていますか?)。何らかの理由でロジックが破損したり壊れたりしますか?
基本的に、すべきではありません。とは異なる動作をするコレクションを作成したい場合は、代わりに合成を使用してくださいArrayList
。の個人的な詳細はArrayList
、正当な理由により非公開です。それらはバージョン間で変更される可能性のある実装の詳細であり、コードはそれらを気にするべきではありません。
(拡張が実際に有効なアプローチである可能ArrayList
性はありますが、IMO である可能性は低いです。あなたは、あなたが本当に達成しようとしていることを語っていません。何が達成を妨げているのかだけです。全体像について詳しく教えていただければ、助かる可能性が高くなります。)
ArrayList と同じメソッドを提供し、ArrayList 型のフィールドを持つコンテナーを作成できます (データ ストレージ用)。次に、すべての ArrayList メソッドをコンテナー クラスに追加します。これにより、オーバーライドするメソッドを除いて、ArrayList (フィールド) で対応するメソッドが実行されます。