继承monobehaviour的类实例化为空,但为什么实例化可以调用
在 Unity 中,继承自 MonoBehaviour 的类的实例化确实有一些特殊之处。
尽管你可以使用关键字 `new` 来实例化 MonoBehaviour 的子类,但这样做不会调用类的构造函数。相反,MonoBehaviour 的子类实例通常是通过在 Unity 中创建游戏对象并将该脚本组件添加到对象上来实现的。
即使使用 `new` 关键字实例化 MonoBehaviour 的子类,你仍然可以调用其方法和访问其属性。这是因为 MonoBehaviour 的子类实例在实例化时并不依赖于构造函数。实例化后,你可以通过该实例调用其方法和访问其属性,但是在 Unity 的生命周期中,该实例将不会被管理。
这种行为可能导致一些混淆,因为它与一般面向对象编程语言中类的实例化方式有所不同。在 Unity 中,大多数情况下,你应该通过在场景中创建游戏对象并将 MonoBehaviour 的子类作为组件添加到对象上来实例化 MonoBehaviour 的子类。