zoukankan      html  css  js  c++  java
  • 你可能不知道的对象实例化顺序

    猜猜下面这段代码的输入,我预计90%以上的人给不出正确的答案
     
    void Main()
    {
        InitSeqBase x =
    new InitSeqChild();
    }

    public class InitSeqBase
    {
        
    public static Nothing _SField = new Nothing("base static field initializer");
        
    static InitSeqBase()
        {
            Console.WriteLine("base static constructor");
        }
        
        
    public Nothing InsField = new Nothing("base Instance field initializer");
        
        
    public InitSeqBase()
        {
            Console.WriteLine("base Instance constructor");
        }
    }

    public class InitSeqChild : InitSeqBase
    {
        
    public static Nothing _SField = new Nothing("child static field initializer");
        
    static InitSeqChild()
        {
            Console.WriteLine("child static constructor");
        }
        
        
    public Nothing InsField = new Nothing("child Instance field initializer");
        
        
    public InitSeqChild()
        {
            Console.WriteLine("child Instance constructor");
        }
    }

    public class Nothing
    {
        
    public Nothing(string s)
        {
            Console.WriteLine(s);
        }
    }
     
     
     
     
     
    答案在此(选中后可见,白色字体):
    child static field initializer
    child static constructor
    child Instance field initializer
    base static field initializer
    base static constructor
    base Instance field initializer
    base Instance constructor
    child Instance constructor
    谢谢参与!

  • 相关阅读:
    Matplotlib学习
    Docker win10安装
    pandas读取文件报错
    python特殊函数__str__、__repr__和__len__
    tar命令总结
    lamp服务器站点目录被植入广告代码处理
    linux简单测试
    中国剩余定理
    牛客暑期第六场G /// 树形DP 最大流最小割定理
    逆元 组合A(n,m) C(n,m)递推 隔板法
  • 原文地址:https://www.cnblogs.com/teamleader/p/1944810.html
Copyright © 2011-2022 走看看