您现在所在的位置:首页 >学习资源 > Unity游戏/VR/AR入门教材 > VR开发入门教程26:附加修饰符之Static

VR开发入门教程26:附加修饰符之Static

来源:奇酷教育 发表于:

静态类静态类就是指由static修饰的类。静态类是不能实例化的,我们直接使用它的属性与方法,静态类最大的特点就是共享。public static cl

静态类
静态类就是指由static修饰的类。静态类是不能实例化的,我们直接使用它的属性与方法,静态类最大的特点就是共享。
public static class StaticTestClass
{
   public static int n = 0;
 
   public static void Add()
   {
       n++;
   }
}
 
原则:
静态类中的所有成员必须是静态的。
静态构造函数
静态构造函数:
静态类可以有静态构造函数,静态构造函数不可继承。
静态构造函数可以用于静态类,也可用于非静态类。
静态构造函数无访问修饰符、无参数,只有一个 static 标志。
静态构造函数不可被直接调用,当创建类实例或引用任何静态成员之前,静态构造函数被自动执行,并且在某次运行期间只执行一次。
静态成员
类成员由static关键字修饰,可以在未创建类的对象前就用类名直接调用类成员。
类中的变量可以分为实例成员变量和类变量(静态变量),静态变量能够完美的体现出Static的共享特性,如果在某一时刻类中的静态变量被修改了,那么对此类的所有对象来说,静态变量都已经发生了变化。
存储结构的差别:
实例变量每次创建对象时才被分配空间
类变量当类被加载时就分配空间
访问方式的差别:
实例变量必须通过对象访问
类变量不需要 直接使用类名.访问
类成员可以分为实例成员方法和类成员方法,我们来对比一下这两种方法:
1、类方法在类被加载时就分配入口地址
2、实例方法在创建第一个对象时分配入口地址,这个地址被所有对象共享
3、类方法和实例方法中的局部变量当方法被调用时才分配空间
4、类方法只能访问类方法和类变量
实例方法能访问类方法、类变量、实例方法、实例变量。类方法中不能使用this、base等需要对象的关键字。
类内部的关系调用图
一.多类的加载次序
1.优先加载Main所在的类
2.执行Main方法
3.执行过程中使用到哪个类 加载哪个类
 
二.单个类的加载次序
 
1.加载类中的静态变量 静态方法
2.执行静态构造为静态变量进行初期化
3.当产生对象new对象时 分配成员变量和成员方法到对象中
注意:1、非静态的可以调用静态和非静态
      2、静态的只能调用静态的