您的位置:首页 > 编程语言 > Java开发

java类中,成员变量赋值第一个进行,其次是静态构造函数,再次是构造函数

2017-08-25 09:29 351 查看
如题是结论,如果有人问你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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐