Java实例变量初化顺序

来源:互联网 发布:c语言获取网页源码 编辑:程序博客网 时间:2024/04/30 11:09

实例变量初始化方式有以下3种:

1.非静态块中初始化;

2.声明时初始化;

3.构造器中初始化;

测试:

package com.skymr.learn;/** * 实例变量初始化顺序测试 * @author skymr * */public class InstanceTest1 {public InstanceTest1(){a = 2;System.out.println("构造器");}{a = 1;System.out.println("非静态块1");}private int a = 3;public void print(){System.out.println(a);}public static void main(String[] args) throws Exception{new InstanceTest1().print();}}

非静态块1构造器2

测试证明:1,2优先于3执行,且不受代码顺序影响

再测试:

package com.skymr.learn;/** * 实例变量初始化顺序测试 * @author skymr * */public class InstanceTest1 {public InstanceTest1(){System.out.println("构造器");}{a = 1;System.out.println("非静态块1");}private int a = 3;public void print(){System.out.println(a);}public static void main(String[] args) throws Exception{new InstanceTest1().print();}}

结果:

非静态块1构造器3
测试证明:1,2的顺序根据代码排列顺序.


0 0
原创粉丝点击