2011-12-19 17 views
0

簡単な質問、私は自分で満足のいく答えを見つけようとしました。Javaこのパラメータ

私はObject1とObject2の2つのクラスがあります。今私はObject2には、オブジェクト1のリソースを使用したいと思うので、私はこの

Object1 obj1; 
    public Object2(Object1 o){ 
     obj1 = o; 
    } 

を行うと、オブジェクト1に、私はこの

new Object2(this); 

を行い、これは各Object2Object1を与えない、またはそれは単にオブジェクト1を指しありません期待?

+2

**完全**コードスニペットを表示してください。私は何がここに何を呼んでいるのか分かりません... –

答えて

1

期待通りにObject1を指します。これはJavaがオブジェクト変数を "参照"( "C"で思うなら "ポインタ")として保存し、この参照を値渡しすると、オブジェクトが参照する関数を与えているからです。これに関する良い基本的なチュートリアルがあります機能here。お役に立てれば。使用できる

+0

ありがとうございました。私は予想以上に処理が進んでいると心配しました。これは良いニュースです。 – Jeremy

1

これは単にObject1への参照(ポイント)を使用します。 oObject2クラスに変更すると、元のobj1オブジェクトも変更されます。

0

はIS-Object2には今Object2には、Object2にリソースならびにオブジェクト1のリソースを使用することができるオブジェクト1 {}

を拡張関係

。あなたが使用することができ、あなたはその逆たいとすると、HAS-関係を

オブジェクト1は、この

オブジェクト1 {Object2にobj2のようなObject2に参照を持っています。 }

Object2にこの

Object2に{オブジェクト1 OBJ1等オブジェクト1の参照を有します。 }

関連する問題