java类中,成员变量赋值第一个进行,其次是静态构造函数,再次是构造函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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类中,成员变量赋值第一个进行,其次是静态构造函数,再次是构造函数的主要内容,如果未能解决你的问题,请参考以下文章