首页 > 其他分享 >静态构造函数

静态构造函数

时间:2022-08-17 13:56:18浏览次数:48  
标签:静态 Demo num static 类中 构造函数

1.静态构造函数用于初始化类中的静态数据或执行仅需执行一次的特定操作。

2.静态构造函数将在创建第一个实例或引用类中的静态成员之前自动调用。

3.静态构造函数具有以下特性:静态构造函数不使用访问权限修饰符修饰或不具有参数;类或结构体中只能具有一个静态构造函数;静态构造函数不能继承或重载;静态构造函数不能直接调用,仅可以由公共语言运行时 (CLR) 调用;用户无法控制程序中静态构造函数的执行时间;在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数以初始化类;静态构造函数会在实例构造函数之前运行。

using System;

namespace c.biancheng.net
{
    class Demo
    {
        public static int num = 0;
        // 构造函数
        Demo(){
            num = 1;
        }
        // 静态构造函数
        static Demo(){
            num = 2;
        }
        static void Main(string[] args) 
        {
            Console.WriteLine("num = {0}", num);
            Demo Obj = new Demo();
            Console.WriteLine("num = {0}", num);
            Console.Read();
        }
    }
}

当执行上面程序时,会首先执行public static int num = 0,接着执行类中的静态构造函数,此时 num = 2,然后执行 Main 函数里面的内容,此时打印 num 的值为 2,接着初始化 Demo 类,这时会执行类中的构造函数,此时 num 会重新赋值为 1,所以上例的运行结果如下所示:

num = 2
num = 1

标签:静态,Demo,num,static,类中,构造函数
From: https://www.cnblogs.com/lc2100222/p/16594189.html

相关文章

  • 静态链接 SDL2 程序 (MinGW64)
    引用SDL静态编译教程的话:SDL(SimpleDirectMediaLayer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。本文主要介绍SDL库的静态编译方法。SDL当前是第二版......
  • GitHub/Gitee静态页托管页部署SSL证书
    本文档介绍了在Github/Gitee的静态页托管Pages服务部署SSL证书,配置HTTPS安全访问的操作说明。Pages服务Github/Gitee的Pages是一个免费的静态网页托管服务,您可以使用Gith......
  • C# 深度复制对象 反序列化方式与复制构造函数方式的效率分析
    先看结果 所以复制构造函数优于序列化和反序列化代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Diagnostics;usingSystem.Linq;using......
  • ASP.NET Core依赖注入系统学习教程:容器对构造函数选择的策略
    .NETCore的依赖注入容器之所以能够为应用程序提供服务实例,这都归功于ServiceDescriptor对象提供的服务注册信息。另外,在ServiceDescriptor对象中,还为容器准备了3种提供服......
  • 原生js构造函数及其对象 学习总结
    js构造函数及其对象ES5functionPerson(age){ this.name='张三' this.age=age this.talk=function(){ alert('hello') }}首字母大写构造函数中的thi......
  • Promise 静态 API 的使用方法
    Promise.all使用场景:假设我们希望许多Promise并行执行,并等待它们都准备好。一个实际例子是:并行下载多个URL,并在这些URL全部下载完成后,再进行后续的业务逻辑处理。......
  • 拷贝构造函数
    c++中的拷贝构造函数调用时机通常有三种情况1.使用一个已经创建完毕的对象来初始化一个新的对象2.值传递的方式给函数参数传值3.以值方式返回局部对象//情况1classP......
  • Ubuntu 20.04 配置静态IP地址
    vim/etc/netplan/00-installer-config.yaml#Thisisthenetworkconfigwrittenby'subiquity'network:ethernets:ens160:dhcp4:noaddresse......
  • 【SpringBoot】学习笔记-静态资源导入探究
    获取静态资源路径1    如图所示,当我们访问localhost:8080/webjars目录下面的静态资源,都会被映射到classpath:/META-INF/resources/webjars/去进行查找  ......
  • 静态函数和非静态函数, 以及static关键字
    【1】C++类中静态变量理解1)类里static变量特点:1、属于类本身,不属于对象2、程序的运行过程中只有一个副本3、不能在生成对象时初始化,即不能在构造函数中初始化2......