- 38 名前:デフォルトの名無しさん mailto:sage [2013/10/24(木) 21:38:19.31 ]
- Swingのライブラリを使っている上で気になったのですが、
例えば、JFrameのsetSize(Dimension d)は縦横のプリミティブ値を コピーしたものをsetしているけど、setLayout(LayoutManager manager)は LayoutManagerのインスタンスの参照を直接setしてますよね? このように、あるクラスAのsetメソッドの引数がプリミティブ型ではなく、 あるクラスBのインスタンスの参照を渡すようになっている場合において、 そのAのsetメソッドの中で、Bのインスタンスの参照が直接setされるのか、 Bのフィールドの値をコピーしてsetするのか、どちらを行なっているのかを 知るためには、ライブラリのドキュメントを確認するしかないのでしょうか? setメソッドだけではなく、その他の参照を引数に取るメソッドや、 参照が戻り値になってるメソッドにおいても、色々と怖いような気がします もし、Javaの基本原則として「参照を直接setしちゃダメ(もしくは逆)」みたいな 暗黙の規則があるのならばそれも教えていただきたいです
|

|