zoukankan      html  css  js  c++  java
  • 构造函数和析构函数的调用顺序

    using System;

    public class SamplesArray
    {
        
    public static void Main()
        {
            C c 
    = new C();
            S.C(); 
        }
    }
    public static class S
    {
        
    static S()   //静态构造函数中不能有访问修饰符,默认为私有构造函数,这也是私有构造函数的用法。
        {
            Console.WriteLine(
    "静态类S!");
        }
        
    public static void C()
        {
            Console.WriteLine(
    "静态类S的静态方法!");
        }
        
    /*~S()   //静态类不能包含析构函数
        {
            Console.WriteLine("静态类S的析构函数!");
        }
    */
    }

    public class A
    {
        
    static A()
        {
            Console.WriteLine(
    "A类的静态构造函数!");
        }
        
    public A()
        {
            Console.WriteLine(
    "A类的实例构造函数!");
        }
        
    ~A()
        {
            Console.WriteLine(
    "A类的析构函数!");
        }
    }
    public class B:A
    {
        
    static B()
        {
            Console.WriteLine(
    "B:A类的静态构造函数!");
        }
        
    public B()
        {
            Console.WriteLine(
    "B:A类的实例构造函数!");
        }
        
    ~B()
        {
            Console.WriteLine(
    "B:A类的析构函数!");
        }
    }
    public class C:B
    {
        
    static C()
        {
            Console.WriteLine(
    "C:B类的静态构造函数!");
        }
        
    public C()
        {
            Console.WriteLine(
    "C:B类的实例构造函数!");
        }
        
    ~C()
        {
            Console.WriteLine(
    "C:B类的析构函数!");
        }
    }

    C:B类的静态构造函数!

    B:A类的静态构造函数!

    A类的静态构造函数!

    A类的实例构造函数!

    B:A类的实例构造函数!

    C:B类的实例构造函数!

    静态类S!//

    静态类S的静态方法!

    C:B类的析构函数!

    B:A类的析构函数!

    A类的析构函数!

  • 相关阅读:
    20145129 《Java程序设计》第1周学习总结
    问卷调查
    第十二周学习笔记
    第十一周学习总结
    信息安全系统设计基础实验二—20135214万子惠20135227黄晓妍
    信息安全系统设计基础实验一—20135227黄晓妍 20135214万子惠
    第九周学习报告
    家庭作业
    期中总结
    第七周学习报告:)
  • 原文地址:https://www.cnblogs.com/answercard/p/1842934.html
Copyright © 2011-2022 走看看