为什么静态构造函数的顺序像这样的C#来?

时间:2019-04-15 07:55:14

标签: c# constructor static-variables static-constructor

我有3个班级
A-> B-> C
所有类都有静态构造函数和普通构造函数
现在按照我的意思,o / p应该像

  

静态C
静态B
静态A

     

A构造函数
B构造函数
C构造函数

但是它像这样

  

静态C
静态A
静态B
A构造函数
B   构造函数
C构造函数

有谁能解释为什么会发生
我的代码

public class Main
{
  public static class NewRunnable implements Runnable
  {
    public void run()
    {
      try {
        String myName = Thread.currentThread().getName();
        for (int i = 0; i < 5; i++) {
          System.out.println("Child Thread: " + myName );
          Thread.sleep(1000);
        }
      }
      catch (InterruptedException e) {
        System.out.println("Child Interrupted.");
      }
      System.out.println("Exiting child thread.");
    }
  }

  public static void main(String[] args)
  {
    Thread t1 = new Thread(new NewRunnable(), "Demo Thread 1");
    Thread t2 = new Thread(new NewRunnable(), "Demo Thread 2");
    Thread t3 = new Thread(new NewRunnable(), "Demo Thread 3");
    t1.start(); // it automatically invokes run() method
    t2.start();
    t3.start();
  }
}

0 个答案:

没有答案