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

    转自:http://www.cnblogs.com/jackhuclan/archive/2008/01/10/1033042.html

    代码
        class Program
        {
            
    static void Main(string[] args)
            {
                DriveB d 
    = new DriveB();
                Console.Read();
            }
        }

        
    class BaseA
        {
            
    static DisplayClass a = new DisplayClass("基类静态成员初始化");

            DisplayClass BaseA_c 
    = new DisplayClass("基类实例成员初始化");

            
    static BaseA()
            {
                
    new DisplayClass("基类静态构造方法被调用");
            }

            
    public BaseA()
            {
                
    new DisplayClass("基类构造方法被调用");
            }
        }

        
    class DriveB : BaseA
        {

            
    static DisplayClass DriveB_b = new DisplayClass("继承类静态成员初始化");


            DisplayClass DriveB_c 
    = new DisplayClass("继承类实例成员初始化");

            
    static DriveB()
            {
                
    new DisplayClass("继承类静态构造方法被调用");
            }

            
    public DriveB()
            {
                
    new DisplayClass("继承类构造方法被调用");
            }
        }
        
    class DisplayClass
        {
            
    public DisplayClass(string diplayString)
            {
                Console.WriteLine(diplayString);
                Console.WriteLine();
            }
        }

    调用顺序:

    1.继承类静态成员初始化

    2.继承类静态构造方法被调用

    3.继承类实例成员初始化

    4.基类静态成员初始化

    5.基类静态构造方法被调用

    6.基类实例成员初始化

    7.基类构造方法被调用

    8.继承类构造方法被调用

  • 相关阅读:
    Jquery Plugin模版
    jquery之extend
    java反射技术实例
    java基础汇总
    Java学习路线
    java的一个爬虫
    Java深度理解——Java字节代码的操纵
    java编程思想-基础
    hdu 5201 The Monkey King【容斥原理+组合数学】
    容斥原理
  • 原文地址:https://www.cnblogs.com/xgw2004058/p/1757245.html
Copyright © 2011-2022 走看看