Java对象初始化顺序
来源:互联网 发布:mac 恢复 不了 编辑:程序博客网 时间:2024/05/21 11:28
转自http://www.blogjava.net/xiaodaoxiaodao/archive/2007/06/06/122383.html
public class PrintClass { public static void main(String[] args){ new B(); } PrintClass(String var) { System.out.println(var); }} class A { static PrintClass pClassA1 = new PrintClass("A. 静态成员的初始化1"); static { System.out.println("A. 静态初始化块1"); } static { System.out.println("A. 静态初始化块2"); } static PrintClass pClassA2 = new PrintClass("A. 静态成员的初始化2"); { System.out.println("A. 实例初始化块1"); } PrintClass pClassA = new PrintClass("A. 实例成员的初始化"); { System.out.println("A. 实例初始化块2"); } public int Avar; public A() { System.out.println("A. 构造方法"); doSomething(); } private void doSomething() {// public void doSomething() { Avar = 1111; System.out.println("Avar=" + Avar); }} //class B extends Aclass B extends A{ public static void main(String[] args){ new B(); } public int Bvar = 2222; { System.out.println("B. 实例初始化块1"); } { System.out.println("B. 实例初始化块2"); } PrintClass pClassB = new PrintClass("B. 实例成员的初始化"); static { System.out.println("B. 静态初始化块1"); } static PrintClass pClassB1 = new PrintClass("B. 静态成员的初始化1"); static PrintClass pClassB2 = new PrintClass("B. 静态成员的初始化2"); static { System.out.println("B. 静态初始化块2"); } public B() { System.out.println("B. 构造方法"); doSomething(); } public void doSomething() { System.out.println("Bvar=" + Bvar); }}
可以看到运行结果为:
A. 静态成员的初始化1
A. 静态初始化块1
A. 静态初始化块2
A. 静态成员的初始化2
B. 静态初始化块1
B. 静态成员的初始化1
B. 静态成员的初始化2
B. 静态初始化块2
A. 实例初始化块1
A. 实例成员的初始化
A. 实例初始化块2
A. 构造方法
Avar=1111
B. 实例初始化块1
B. 实例初始化块2
B. 实例成员的初始化
B. 构造方法
Bvar=2222
1. 父类静态成员和静态初始化块 ,按在代码中出现的顺序依次执行
2. 子类静态成员和静态初始化块 ,按在代码中出现的顺序依次执行
3. 父类实例成员和实例初始化块 ,按在代码中出现的顺序依次执行
4. 父类构造方法
5. 子类实例成员和实例初始化块 ,按在代码中出现的顺序依次执行
6. 子类构造方法
- JAVA对象初始化顺序
- java对象初始化顺序
- Java 对象初始化顺序
- Java对象初始化顺序
- Java对象初始化顺序
- Java 对象初始化顺序
- Java 对象初始化顺序
- Java对象初始化顺序
- java对象初始化顺序
- java对象初始化顺序
- Java对象初始化顺序
- Java对象初始化顺序
- java对象初始化顺序
- java对象初始化顺序
- Java 对象初始化顺序
- Java对象初始化顺序
- Java对象初始化顺序
- Java对象初始化顺序
- 第二节 html5学习——视频
- delphi 数组类型与数组指针的巧妙利用
- eclipse4.2集成flex4.6
- Arcgis for Flex #2048安全沙箱冲突解决方法
- 关于页面有多个textfield点击换行,画面随之移动的方案
- Java对象初始化顺序
- 学习jms——基本实例
- 介质集有2个介质簇,但只提供了1个。必须提供所有成员
- http://codeforces.com/contest/263/problem/D
- shell脚本
- 第三节 html5学习——视频/DOM
- Android应用程序组件Content Provider的共享数据更新通知机制分析
- Python装饰器与面向切面编程
- CString源代码