zoukankan      html  css  js  c++  java
  • 关于静态构造函数

    程序如下所示

        class Program
        {
            static void Main(string[] args)
            {

                1、 Singleton.getInstance();

                2、Singleton s = new Singleton();
                Console.ReadLine();
            }
        }

    public  class Singleton
        {
            private static int instance;
            public Singleton()
            {
                Console.WriteLine("no static Singleton");
            }
            static Singleton()
            {
                Console.WriteLine("static Singleton");
            }
            public static void getInstance()
            {
                if (instance == 0)
                {
                    instance = instance+1;
                }
                Console.WriteLine( instance+"");
            }
        }

    1、 Singleton.getInstance();此时程序会先执行静态构造函数,再调用getInstance()方法,程序会先输出“static Singleton” 再输出“1”

    2、Singleton s = new Singleton();
    此时调先执行 静态构造函数,再调用非静态构造函数,最后调用getInstance()方法,输出“static Singleton” 再输出“no static Singleton”最后输出“1”

    注:静态构造函数只执行一次,当子类多次实例化时候,父类的静态构造函数只执行一次,父类的非静态构造函数则会多次执行。

  • 相关阅读:
    点击某个内容复制到粘贴板
    滚动条全局样式
    23个Python爬虫开源项目代码:爬取微信、淘宝、豆瓣、知乎、微博等
    爬虫数据清洗
    邮件二次验证
    mysql基础语句
    orm操作
    解决跨域请求
    第二十一章 线程局部存储区
    第二十章 DLL高级技术
  • 原文地址:https://www.cnblogs.com/yidianfeng/p/2262904.html
Copyright © 2011-2022 走看看