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
相关文章推荐
- Java初始化顺序总结 - 静态变量、静态代码块、成员变量、构造函数
- Java初始化顺序总结及其程序执行过程图- 静态变量、静态代码块、成员变量、构造函数
- java中使用反射做一个工具类,来为指定类中的成员变量进行赋值操作,使用与多个类对象的成员变量的赋值。
- Java初始化顺序总结 - 静态变量、静态代码块、成员变量、构造函数
- java成员变量,静态成员变量,静态代码块,代码块和构造函数等加载顺序
- 第3章 Java语言基础----声明成员变量,对变量进行赋值
- [转]Java初始化顺序总结 - 静态变量、静态代码块、成员变量、构造函数
- 使用java反射操作类的构造函数,成员变量和成员方法
- java中成员变量、代码块、构造函数运行顺序
- java线程安全问题之静态成员变量、实例成员变量、局部变量
- Java的静态变量,成员变量,静态代码块,构造块的加载顺序
- java基础,静态变量,静态初始化块,初始化快,成员变量的初始化顺序
- C/C++ 通过初始化列表和构造函数内赋值初始化成员变量的区别
- Java普通代码块,构造代码块,静态代码块,成员变量的执行顺序的代码实例
- 派生类的构造函数中,可以将基类作为成员变量进行初始化
- Java:【面向对象:类的定义,静态变量,成员变量,构造函数,封装与私有,this】
- 22、Java入门—反射之获取获取成员变量和构造函数的信息
- java 父类子类静态成员,实例成员,构造函数初始化的顺序
- 构造函数、成员变量、成员方法、静态方法、数组的反射应用
- 没有默认构造函数的问题, 对于类成员变量有别的类成员,则在类 构造函数中也必须对那个类成员变量进行初始化,除非那个类 成员有默认构造函数