类内部变量的初始化顺序
一:构建器初始化顺序
1 package com.var.sort; 2 3 4 class A{ 5 A(int i){ 6 System.out.println("A("+i+")"); 7 } 8 } 9 10 11 12 /*** 13 * 这个类用来测试类内部成员变量(基本类型的变量+引用类型的变量)初始化的顺序 14 * 实事证明: 15 * 初始化的顺序是由变量在类内部的定义顺序决定的, 16 * 即使变量的定义大量的分布于类内部的各个方法(包括构建器)之间 17 * 那些变量仍然会在调用任何方法之前得到初始化--甚至在构造器调用之前 18 * @author Administrator 19 * 20 */ 21 public class VarSortTest { 22 A a1 = new A(1); 23 VarSortTest(){ 24 System.out.println("VarSortTest()"); 25 a3 = new A(33); 26 } 27 A a2 = new A(2); 28 29 void f(){ 30 System.out.println("f()"); 31 } 32 A a3 = new A(3); 33 public static void main(String[] args) { 34 VarSortTest v = new VarSortTest(); 35 v.f(); 36 } 37 }
输出结果
A(1)
A(2)
A(3)
VarSortTest()
A(33)
f()
二:静态数据的初始化
未完待续。。。
记录点滴,十年后回首,方知己之十年,何如!

浙公网安备 33010602011771号