static修饰类:静态类
静态类: 静态类中所有成员都是 静态的
静态类不可以实例化:所有的成员都是用类名直接调用,不需要用到实例
使用静态类:
1.如果想要你的类当做一个工具类去使用,考虑用静态类,例如 Console类
原因:经常用为什么要写成静态? 1.使用更方便
2.静态类在整个项目中资源共享的。类是不占内存的,对象占内存的,但是静态类占内存
堆 栈 静态存储区:这三个区是最常用的三块内存
3.静态类在程序结束释放资源。 GC 垃圾回收器
static修饰类成员:
* 1.一个类中可以有静态非静态字段方法
* 2.静态成员必须使用类名调用,非静态用实例调用
* 3.静态函数中,只能访问静态的字段属性
* 4.实例函数中,既可以使用静态成员,也可以非静态成员
在C#中没有全局变量,用静态字段来实现全局变量
1 class Cat 2 { 3 //静态字段 非静态字段 4 private static string _name; 5 private string _sex; 6 7 public void Eat() 8 { 9 _name = ""; 10 _sex = ""; 11 Console.WriteLine("非静态方法"); 12 } 13 14 public static void Run() 15 { 16 _name = ""; 17 //静态方法中不可访问非静态字段:静态随着程序销毁而销毁的,字段是随着类的初始化才有的,防止,静态方法调用非静态字段的时候,非静态字段可能还没有初始化 18 // _sex = ""; 19 // Eat();//和字段原因一样 20 Console.WriteLine("静态方法"); 21 } 22 23 }