java类的执行顺序
1. static静态代码块
2.{}
3.构造方法
4. 子类main方法运行时:
- static静态代码块
5.子类构造方法调用时:
- static静态代码块
- {}
- 构造方法
6.子类new两次对象
父类:
package com.xuzhiwen.protect; public class FatherTest { static{ System.out.println("FatherTest ....static"); } public FatherTest(){ System.out.println("FatherTest()..."); } { System.out.println("{}"); } }
子类:
package com.xuzhiwen.protect; public class SonTest extends FatherTest{ public static void main(String[] args) { SonTest test = new SonTest(); SonTest test1 = new SonTest(); } }
7.运行结果如下: