自学内容网 自学内容网

C#-静态类、静态构造函数

一:静态类

用static 修饰的类-----只能包含静态成员-----不能实例化new

作用:工具类,拓展方法

  1. 将常用的静态成员写在静态类中 方便使用
  2. 静态类不能被实例化,更能体现工具类的 唯一性。比如 Console就是一个静态类

二:静态构造函数

用static修饰的构造函数

静态类和普通类都可以有静态构造函数

不能使用访问修饰符、不能有参数、只会自动调用一次

        (在第一次使用成员变量之前调用一次)

作用:初始化静态成员

 2.1 静态类中的静态构造函数
static class StaticClass
{
    public static int testInt = 100;
    public static int testInt2 = 100;

    static StaticClass()
    {
        Console.WriteLine("静态构造函数");
        testInt = 200;
        testInt2 = 300;
    }
}
 2.2 普通类中的静态构造函数
class Test
{
    public static int testInt = 200;
    static Test()
    {
        Console.WriteLine("静态构造");
    }

     public Test()
    {
        Console.WriteLine("普通构造");
    }
}

 注意:static Test(){} 和 public Test(){}  不被认为是重载

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("静态类和静态构造函数!");

            Console.WriteLine(StaticClass.testInt);
            Console.WriteLine(StaticClass.testInt2);
            Console.WriteLine(StaticClass.testInt);

            Console.WriteLine(Test.testInt);
            Test t = new Test();
            Test t2 = new Test();
        }
    }
}

静态类中的所有成员,均可直接调用

普通类中的静态成员,需使用对象调用


原文地址:https://blog.csdn.net/dcprime/article/details/143403521

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!