C# 基础入门 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

类的静态成员


  我们可以使用 static 关键字把类成员定义为静态的。当我们声明一个类成员为静态时,意味着无论有多少个类的对象被创建,只会有一个该静态成员的副本。关键字 static 意味着类中只有一个该成员的实例。静态变量用于定义常量,因为它们的值可以通过直接调用类而不需要创建类的实例来获取。静态变量可在成员函数或类的定义外部进行初始化。

using System;
namespace StaticVarApplication
{
    class StaticVar
    {
       public static int num; //定义静态变量
        public void count()
        {
            num++;
        }
        public static int getNum() //定义静态方法
        {
            return num;
        }
    }
    class StaticTester
    {
        static void Main(string[] args)
        {
            StaticVar s1 = new StaticVar(); //类的声明与初始化
            StaticVar s2 = new StaticVar();
            s1.count();
            s1.count();
            s1.count();
            s2.count();
            s2.count();
            s2.count();         
            Console.WriteLine("s1  num: {0}",  StaticVar.getNum());//静态方法调用
            Console.WriteLine("s2  num: {0}",  StaticVar.getNum()); 
        }
    }
}

结果s1与s2的值是不是不一样呢,去试一试吧。

  也可以把一个成员函数声明为 static。这样的函数只能访问静态变量。静态函数在对象被创建之前就已经存在。如上例中的getNum()函数。