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”

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

  • 相关阅读:
    jQuery中Ajax事件beforesend及各参数含义 转
    如何组织好js代码 转
    C# 几种HtmlEncode的区别
    [转]建议Font-Size使用em单位控制大小
    JavaScript charAt() 方法
    Js中 关于top、clientTop、scrollTop、offsetTop的用法
    jquery mobile 的4个初始化事件
    JS操作JSON总结
    .html(),.text()和.val()的使用
    netstat 显示当前网络连接的统计信息
  • 原文地址:https://www.cnblogs.com/yidianfeng/p/2262904.html
Copyright © 2011-2022 走看看