C#_基础_静态关键字static(二十一)

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     }
原文地址:https://www.cnblogs.com/CeasarH/p/9196971.html