Submit Search
Upload
Effective java 輪読会 第3章 項目11, 12
•
Download as PPTX, PDF
•
3 likes
•
1,192 views
Appresso Engineering Team
Follow
第3章 項目11, 12
Read less
Read more
Report
Share
Report
Share
1 of 15
Download now
Recommended
3章 項目8,9,10
Effective java 輪読会 第3章 項目8,9,10
Effective java 輪読会 第3章 項目8,9,10
Appresso Engineering Team
Effective Java 輪読会 項目45-48
Effective Java 輪読会 項目45-48
Appresso Engineering Team
Effective Java 輪読会 第7章 項目43-44
Effective Java 輪読会 第7章 項目43-44
Appresso Engineering Team
Effective Java 輪読会 項目49-52
Effective Java 輪読会 項目49-52
Appresso Engineering Team
20150302 java8 第一回_ラムダ式(1)
20150302 java8 第一回_ラムダ式(1)
Appresso Engineering Team
Effective Java 輪読会 項目77-78
Effective Java 輪読会 項目77-78
Appresso Engineering Team
Effective Java 輪読会 項目74-75
Effective Java 輪読会 項目74-75
Appresso Engineering Team
「デザインパターン入門 マルチスレッド編」輪読会、第1回「Single Threaded Execution」のスライド。
マルチスレッド デザインパターン ― Single Threaded Execution
マルチスレッド デザインパターン ― Single Threaded Execution
Appresso Engineering Team
Recommended
3章 項目8,9,10
Effective java 輪読会 第3章 項目8,9,10
Effective java 輪読会 第3章 項目8,9,10
Appresso Engineering Team
Effective Java 輪読会 項目45-48
Effective Java 輪読会 項目45-48
Appresso Engineering Team
Effective Java 輪読会 第7章 項目43-44
Effective Java 輪読会 第7章 項目43-44
Appresso Engineering Team
Effective Java 輪読会 項目49-52
Effective Java 輪読会 項目49-52
Appresso Engineering Team
20150302 java8 第一回_ラムダ式(1)
20150302 java8 第一回_ラムダ式(1)
Appresso Engineering Team
Effective Java 輪読会 項目77-78
Effective Java 輪読会 項目77-78
Appresso Engineering Team
Effective Java 輪読会 項目74-75
Effective Java 輪読会 項目74-75
Appresso Engineering Team
「デザインパターン入門 マルチスレッド編」輪読会、第1回「Single Threaded Execution」のスライド。
マルチスレッド デザインパターン ― Single Threaded Execution
マルチスレッド デザインパターン ― Single Threaded Execution
Appresso Engineering Team
JavaScript 勉強会、「JavaScript 第6版」の 3 章「型、値、変数」の変数、4 章「式と演算子」、5 章「文」のスライド。
JavaScript 勉強会 ― 変数・演算子・文
JavaScript 勉強会 ― 変数・演算子・文
Appresso Engineering Team
JavaScript 勉強会、「JavaScript 第6版」の 3 章「型、値、変数」のスライド。
JavaScript 勉強会 ― 型と値
JavaScript 勉強会 ― 型と値
Appresso Engineering Team
Effective Java 輪読会 項目69-70追加
Effective Java 輪読会 項目69-70追加
Effective Java 輪読会 項目69-70追加
Appresso Engineering Team
Effective Java 輪読会 項目69-70
Effective Java 輪読会 項目69-70
Appresso Engineering Team
Effective Java 輪読会 項目66-68
Effective Java 輪読会 項目66-68
Appresso Engineering Team
Effective Java 輪読会 項目71-73
Effective Java 輪読会 項目71-73
Appresso Engineering Team
Java Day Tokyo 2014 まとめ (chen)
Java Day Tokyo 2014 まとめ (chen)
Appresso Engineering Team
Effective Java 輪読会 項目63-65
Effective Java 輪読会 項目63-65
Appresso Engineering Team
Effective Java 輪読会 項目60-62
Effective Java 輪読会 項目60-62
Appresso Engineering Team
Effective java 輪読会 項目57-59
Effective java 輪読会 項目57-59
Appresso Engineering Team
Effective Java 輪読会 項目53-56
Effective Java 輪読会 項目53-56
Appresso Engineering Team
Effective Java 輪読会 第7章 項目41-42
Effective Java 輪読会 第7章 項目41-42
Appresso Engineering Team
Effective Java 輪読会 第7章 項目38-40
Effective Java 輪読会 第7章 項目38-40
Appresso Engineering Team
Effective Java 輪読会 第6章 項目35-37
Effective Java 輪読会 第6章 項目35-37
Appresso Engineering Team
Effective java 輪読会 第6章 項目32-34
Effective java 輪読会 第6章 項目32-34
Appresso Engineering Team
Effective java 輪読会 第6章 項目30-31
Effective java 輪読会 第6章 項目30-31
Appresso Engineering Team
Effective java 輪読会 第5章 項目26-29
Effective java 輪読会 第5章 項目26-29
Appresso Engineering Team
Effective java 輪読会 第5章 項目23-25
Effective java 輪読会 第5章 項目23-25
Appresso Engineering Team
Effective java 輪読会 第4章 項目18-22
Effective java 輪読会 第4章 項目18-22
Appresso Engineering Team
Effective Java 輪読会 第4章 項目13-17
Effective Java 輪読会 第4章 項目13-17
Appresso Engineering Team
More Related Content
More from Appresso Engineering Team
JavaScript 勉強会、「JavaScript 第6版」の 3 章「型、値、変数」の変数、4 章「式と演算子」、5 章「文」のスライド。
JavaScript 勉強会 ― 変数・演算子・文
JavaScript 勉強会 ― 変数・演算子・文
Appresso Engineering Team
JavaScript 勉強会、「JavaScript 第6版」の 3 章「型、値、変数」のスライド。
JavaScript 勉強会 ― 型と値
JavaScript 勉強会 ― 型と値
Appresso Engineering Team
Effective Java 輪読会 項目69-70追加
Effective Java 輪読会 項目69-70追加
Effective Java 輪読会 項目69-70追加
Appresso Engineering Team
Effective Java 輪読会 項目69-70
Effective Java 輪読会 項目69-70
Appresso Engineering Team
Effective Java 輪読会 項目66-68
Effective Java 輪読会 項目66-68
Appresso Engineering Team
Effective Java 輪読会 項目71-73
Effective Java 輪読会 項目71-73
Appresso Engineering Team
Java Day Tokyo 2014 まとめ (chen)
Java Day Tokyo 2014 まとめ (chen)
Appresso Engineering Team
Effective Java 輪読会 項目63-65
Effective Java 輪読会 項目63-65
Appresso Engineering Team
Effective Java 輪読会 項目60-62
Effective Java 輪読会 項目60-62
Appresso Engineering Team
Effective java 輪読会 項目57-59
Effective java 輪読会 項目57-59
Appresso Engineering Team
Effective Java 輪読会 項目53-56
Effective Java 輪読会 項目53-56
Appresso Engineering Team
Effective Java 輪読会 第7章 項目41-42
Effective Java 輪読会 第7章 項目41-42
Appresso Engineering Team
Effective Java 輪読会 第7章 項目38-40
Effective Java 輪読会 第7章 項目38-40
Appresso Engineering Team
Effective Java 輪読会 第6章 項目35-37
Effective Java 輪読会 第6章 項目35-37
Appresso Engineering Team
Effective java 輪読会 第6章 項目32-34
Effective java 輪読会 第6章 項目32-34
Appresso Engineering Team
Effective java 輪読会 第6章 項目30-31
Effective java 輪読会 第6章 項目30-31
Appresso Engineering Team
Effective java 輪読会 第5章 項目26-29
Effective java 輪読会 第5章 項目26-29
Appresso Engineering Team
Effective java 輪読会 第5章 項目23-25
Effective java 輪読会 第5章 項目23-25
Appresso Engineering Team
Effective java 輪読会 第4章 項目18-22
Effective java 輪読会 第4章 項目18-22
Appresso Engineering Team
Effective Java 輪読会 第4章 項目13-17
Effective Java 輪読会 第4章 項目13-17
Appresso Engineering Team
More from Appresso Engineering Team
(20)
JavaScript 勉強会 ― 変数・演算子・文
JavaScript 勉強会 ― 変数・演算子・文
JavaScript 勉強会 ― 型と値
JavaScript 勉強会 ― 型と値
Effective Java 輪読会 項目69-70追加
Effective Java 輪読会 項目69-70追加
Effective Java 輪読会 項目69-70
Effective Java 輪読会 項目69-70
Effective Java 輪読会 項目66-68
Effective Java 輪読会 項目66-68
Effective Java 輪読会 項目71-73
Effective Java 輪読会 項目71-73
Java Day Tokyo 2014 まとめ (chen)
Java Day Tokyo 2014 まとめ (chen)
Effective Java 輪読会 項目63-65
Effective Java 輪読会 項目63-65
Effective Java 輪読会 項目60-62
Effective Java 輪読会 項目60-62
Effective java 輪読会 項目57-59
Effective java 輪読会 項目57-59
Effective Java 輪読会 項目53-56
Effective Java 輪読会 項目53-56
Effective Java 輪読会 第7章 項目41-42
Effective Java 輪読会 第7章 項目41-42
Effective Java 輪読会 第7章 項目38-40
Effective Java 輪読会 第7章 項目38-40
Effective Java 輪読会 第6章 項目35-37
Effective Java 輪読会 第6章 項目35-37
Effective java 輪読会 第6章 項目32-34
Effective java 輪読会 第6章 項目32-34
Effective java 輪読会 第6章 項目30-31
Effective java 輪読会 第6章 項目30-31
Effective java 輪読会 第5章 項目26-29
Effective java 輪読会 第5章 項目26-29
Effective java 輪読会 第5章 項目23-25
Effective java 輪読会 第5章 項目23-25
Effective java 輪読会 第4章 項目18-22
Effective java 輪読会 第4章 項目18-22
Effective Java 輪読会 第4章 項目13-17
Effective Java 輪読会 第4章 項目13-17
Effective java 輪読会 第3章 項目11, 12
1.
Effective Java 輪読会 2013/12/04 開発部
田中
2.
第3章 すべてのオブジェクトに 共通のメソッド (項目11~12)
3.
• 項目11 – cloneを注意してオーバーライドする
4.
契約 • 「cloneメソッドは、cloneが呼び出された オブジェクトの現在の状態をコピーして 初期状態として持つ新しいオブジェクト を返します。」 • 外見は同じでも、共有はしない
5.
Cloneableインターフェース • cloneメソッドの実装はObjectクラス • Cloneableインターフェースは空 •
オブジェクトの複製許可を明示
6.
cloneに対するアプローチ • cloneをサポート • cloneを条件付きサポート •
サブクラスでサポートすることを想定し て、適切なcloneをオーバーライドする • cloneを禁止する – CloneNotSupportedExceptionを常にスローする
7.
実装上の注意1 • コンストラクタでインスタンスを生成し ない – 返すオブジェクトは常にsuper.clone() –
Objectクラスのcloneメソッドを呼び出す – いずれかのスーパークラスで、コンストラク タによるオブジェクトが帰ってくると、その クラスより下のクラスの情報が欠落するた め。
8.
実装上の注意2 • 共変戻り値型を利用 – クライアントでキャストさせない
9.
実装上の注意3 • 参照型フィールドのコピーは、各フィー ルドを個別に複製する – オーバーライドしたcloneメソッドで、複製し たオブジェクトに参照を設定し直す。 –
可変なfinalのフィールドの場合どうするか • 複製を提供しない • コピーコンストラクタ
10.
変換コンストラクタ public ArrayList(Collection<? Extends
E> c) { : } public LinkedList(Collection<? Extends E> c) { : }
11.
• 項目12 – Comparableの実装を検討する
12.
Comparableインターフェース • compareToメソッド • 型パラメータ •
同一のクラス同士で、自然な順によって 比較可能
13.
契約 • • • • 対称性 推移性 反射性 同値検査の結果は、equalsと一致するべき
14.
実装上の注意点1 • プリミティブ型のフィールドは関係演算 子で比較する。 • ただし、Double型とFloat型は、それぞれの クラスのcompareメソッドを使う。
15.
実装上の注意点2 • フィールドが複数存在する場合は、重要 なフィールドから比較する。
Download now