zoukankan      html  css  js  c++  java
  • c#类的初始化顺序

    类在初始化时的执行顺序,依次如下:

    1: 子类静态变量

    2: 子类静态构造函数

    3: 子类非静态变量

    4: 父类静态变量

    5: 父类静态构造函数

    6: 父类非静态变量

    7: 父类构造函数

    8: 子类构造函数

    对于静态变量与静态构造函数而言, 无论对一个类创建多少个实例,它的静态成员都只有一个副本。 也就是说,静态变量与静态构造函数只初始化一次(在类第一次实例化时)

    以下代码:

     1  class Class1
     2     {
     3         public static int Count = 0;
     4         static Class1()
     5         {
     6             Count++;
     7         }
     8         public Class1()
     9         {
    10             Count++;
    11         }
    12     }

    实例化代码:

    1 Class1 c = new Class1();
    2 Class1 cc = new Class1();
    3 Console.WriteLine(Class1.Count.ToString());
    4 Console.Read();


    当弟一次实例化时, Count值变成2,  当第二次实例化时, 则不会执行静态构造函数与静态变量.  此时Count的值变成3.   所以,最后结果Count值为3

  • 相关阅读:
    junit单元测试
    方法引用
    方法引用表达式(1)
    Stream流的常用方法
    Stream流
    综合案例:文件上传
    tcp通信协议
    python 生成器与迭代器
    Python 序列化与反序列化
    python 文件操作
  • 原文地址:https://www.cnblogs.com/ybhcolin/p/1834219.html
Copyright © 2011-2022 走看看