liudaoru 发表于 2013-1-27 05:18:43

java 中变量的初始化顺序

public class T extends B {public T() {System.out.println(c);}public static void main(String[] args) {T.c = 'a';T t = new T();}}class B {static {c = 'b';}public static char c = 'c';public B() {System.out.println(c + "    1");c = 'd';}{c = 'e';}} 
基本的顺序是:
(静态初始化构造块 静态初始化定义) -> 类名.变量初始化 -> 普通初始化构造块 -> 构造函数
页: [1]
查看完整版本: java 中变量的初始化顺序