考虑以下类结构:
[公共非静态类]
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类的情况下调用此方法吗?
答案 0 :(得分:1)
答案 1 :(得分:1)
静态方法通常用于实用方法的非静态类。它们还可以通过从请求的操作返回一个新对象,用于在不可变类型上屏蔽修饰符和构造函数。请参阅java String。
答案 2 :(得分:1)
困难来自于“静态”对于方法和类的含义略有不同。
请参阅相关文档here。
答案 3 :(得分:0)
当一个方法声明为 static 时,可以在创建其类的任何对象之前访问它,并且不引用任何对象,非静态类也可以包含静态方法。