2013-08-02 133 views
0

我已到處尋找,但似乎找不到此答案。將班級實例傳遞到另一個班級

如果我有一個類(比如一個Resource類)和另一個類(比如一個Sprite類),並且每次創建一個精靈時,我都會傳入一個對我的Resource類的引用(因爲它是某些函​​數的必需) - 我是否正確地假設,所有這一切都會創建對此類實例的引用?

所以 - 如果我的雪碧構造是這樣的:

public Sprite(Resource res){ 

res.doSomething........ 

} 

我創建100個精靈,那麼這不會導致問題,因爲它只是傳遞一個引用或「指針」? (而不是每次創建一個新實例)。

足夠簡單的問題我知道,但我想確保我理解這裏發生了什麼,我無法在任何地方找到答案。

+0

這相當容易測試。只需修改傳入對象的成員數據變量並查看修改是否仍然存在。 –

+1

你所有的假設都是正確的,是的。 – Michelle

+0

如果每次實例化一個新的'Sprite'時都使用相同的'Resource',那麼每個精靈都會使用'Resource'對象。 –

回答

3

doSomething(),如果你創建一個新的Sprite,並通過它現有的Resource,新雪碧只會有一個參考到你原來的對象。

所以100個Sprites將有100個引用到您的1個資源。

0

是的,你必須創建eachtime類的new實例調用特定instance.

相關問題