2015-12-12 31 views
-1

我想知道那爲什麼當我創建一個自定義類,我要聲明的是這樣一個對象來創建一個對象:團結如何在不使用new關鍵字

Person Bob = new Person; 

但隨着Unity的定製類我不「T;例如:

puiblic RaycastHit hit; 
public Color myColor; 
public RigidBody rB; 
+0

[閱讀全文](http://stackoverflow.com/questions/2330767/what-is-the-difference-between-instantiated-and-initialized/11423017#11423017) – radarbob

+0

'人鮑勃=新人'贏了'無論如何編譯。 'RigidBody' **是**一類,所以你**將**必須調用'新',所以不知道你從哪裏得到了這個想法從 – MickyD

+0

我投票結束這個問題作爲題外話,因爲問題是如此簡單這對未來的讀者來說不太可能有用 – MickyD

回答

0

後者例子只是創建一個變量,它可以保持物體的實例。它實際上並沒有創建任何事物的實例。

如果這些變量碰巧是結構體,它們將具有默認值。

0

RaycastHitColor不是class es,它們是struct s。這意味着它們的聲明就像是int一樣,並且可以在不需要new的情況下立即投入使用。

RigidBody另一方面,它是一個class,所以這個聲明沒有實例化一個對象,它只是聲明瞭一個對象的引用,它必須被實例化或以其他方式進一步獲得。

相關問題