Unity如何在没有new关键字的情况下创建对象

时间:2015-12-12 22:27:28

标签: c# class object unity3d unity5

我想知道为什么当我创建一个自定义类时,我必须声明一个这样的对象:

 Person Bob = new Person;

但是使用Unity的自定义类我不会;例如:

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

2 个答案:

答案 0 :(得分:0)

后一个示例只是创建一个可以保存对象实例的变量。它实际上并没有创建任何实例。

如果这些变量恰好是结构,它们将具有默认值。

答案 1 :(得分:0)

Public Class Form1 Private Sub Button1_Click(sender As System.Object, e As System.EventArgs)Handles Button1.Click For i = 1 To 10000000000 i = i + 1 Next End Sub End Class RaycastHit不是Color,而是class。这意味着它们的声明就像struct一样,并且可以在不需要int的情况下立即使用它们。

另一方面,

new是一个RigidBody,所以这个声明不会实例化一个对象,它只是声明一个对象的引用,它必须被实例化或以其他方式进一步获得下来。