标签:控制 sys 输出 log test div style java类 构造
如题是结论,如果有人问你Java类的成员初始化顺序和初始化块知识就这样回答他。下面是代码:
package com.test; public class TestClass{ // 成员变量赋值第一个执行 private static int m1=1; private int m2=1; // 静态构造函数第二个执行 static{ System.out.println("成员变量赋值先于静态构造函数 m1="+m1); m1=2; } // 构造函数第三个执行 public TestClass(){ System.out.println("静态构造函数先于构造函数 m1="+m1); m1=3; System.out.println("成员变量赋值先于构造函数 m2="+m2); m2=3; } public void printM1m2(){ System.out.println("m1="+m1); System.out.println("m2="+m2); } public static void main(String[] args){ TestClass t=new TestClass(); t.printM1m2(); } }
控制台输出:
成员变量赋值先于静态构造函数 m1=1 静态构造函数先于构造函数 m1=2 成员变量赋值先于构造函数 m2=1 m1=3 m2=3
java类中,成员变量赋值第一个进行,其次是静态构造函数,再次是构造函数
标签:控制 sys 输出 log test div style java类 构造
原文地址:http://www.cnblogs.com/xiandedanteng/p/7426465.html