2012-05-01から1ヶ月間の記事一覧
<第 3 章 すべてのオブジェクトに共通のメソッド> 項目12: Comparable の実装を検討する ■著書からの要点抜粋 ・Comparableを実装することで、 インスタンスが自然な順序を持っていることをクラスは示しています。 ・compareToの一般契約とequalsの一般契…
<第 3 章 すべてのオブジェクトに共通のメソッド> 項目11:clone を注意してオーバーライドする■著書からの要点抜粋 ・finalではないクラスでcloneメソッドをオーバーライドするならば、 super.cloneにより得られたオブジェクトを返すべきです。 ・実際に…
<第 3 章 すべてのオブジェクトに共通のメソッド> 項目10:toString を常にオーバーライドする■著書からの要点抜粋 ・優れたtoString実装を提供することで、そのクラスがかなり使いやすくなります。 ・実用的な場合には、 toStringメソッドはオブジェクト…
<第 3 章 すべてのオブジェクトに共通のメソッド> 項目9:equals をオーバーライドする時は、常に hashCode をオーバーライドする■著書からの要点抜粋 ・equalsをオーバーライドしているすべてのクラスで、 hashCodeをオーバーライドしなければなりまあせ…
<第 3 章 すべてのオブジェクトに共通のメソッド> 項目8:equals をオーバーライドする時は一般契約に従う■著書からの要点抜粋 ①以下のどれかにあてはまるのであれば、オーバーライドはしない。 ・クラスの個々のインスタンスは、本質的に一意である。 ・…
<第 2 章 オブジェクトの生成と消滅> 項目7:ファイナライザを避ける ■著書からの要点抜粋 ・ファイナライザは、予測不可能で、たいていは危険であり、一般には必要ありません。 ・時間的に制約のあることをファイナライザで行うべきではない ・ファイナラ…
<第 2 章 オブジェクトの生成と消滅> 項目6:廃れたオブジェクト参照を取り除く■著書からの要点抜粋 ・オブジェクト参照にnullを設定することは、普通というよりむしろ例外であるべきです。 ・クラスが独自のメモリを管理しているときには、 プログラマは…
<第 2 章 オブジェクトの生成と消滅> 項目5:不必要なオブジェクトの生成を避ける ■著書からの要点抜粋 ・staticファクトリーメソッドを使用することで、 たいていは不必要なオブジェクトの生成を回避できます。 ・static初期化子 ・ボクシングされた基本…
<第 2 章 オブジェクトの生成と消滅> 項目4:private のコンストラクタでインスタンス化不可能を強制する■著書からの要点抜粋 ・クラスを抽象化することでインスタンス化できないことを強制しようとしても上手くいかない。 ・クラスは1つの明示的なprivate…
<第 2 章 オブジェクトの生成と消滅> 項目3:private のコンストラクタか enum 型でシングルトン特性を強制する ■著書からの要点抜粋 シングルトンを生成するときの3つのパターン 1.public finalのフィールドによるシングルトン →AccesibleObject.setAcc…
<第 2 章 オブジェクトの生成と消滅> 項目2: 数多くのコンストラクタパラメータに直面した時にはビルダーを検討する■著書からの要点抜粋 インスタンスを生成するときの3つのパターン 1.テレスコーピングコンストラクタ・パターン →機能はするが、多くの…
タイトルの通り。 せっかく読んだので「読んだ」、「理解した」で終わらせるのではなく、 「使える」、「説明できる」レベルを目指して書いていこうかと。 副産物として文章作成能力の向上も期待しつつ^^<第 2 章 オブジェクトの生成と消滅> 項目1:コン…