[英]Why is possible to call static methods of a non-static class?
考虑以下类结构:
[公共非静态类别]
using UnityEngine;
using System.Collections;
public class GameManager : MonoBehaviour {
public static void Play() //STATIC METHOD
{
print("Play some audio!");
}
}
另一个类调用:
using UnityEngine;
using System.Collections;
public class TestClass : MonoBehaviour {
// Use this for initialization
void Start () {
GameManager.Play();
}
// Update is called once per frame
void Update () {
}
}
因为可以在不实例化GameManager类的情况下调用此方法?
静态方法通常在实用程序方法的非静态类中使用。 通过从请求的操作中返回新对象,它们还可用于掩盖不可变类型的修饰符和构造函数。 请参阅java String。
困难来自这样一个事实,即“静态”对于方法和类的含义略有不同。
请参阅此处的相关文档。
当方法声明为static时 ,可以在创建其类的任何对象之前对其进行访问,并且无需引用任何对象,并且非静态类也可以包含静态方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.