java函数加载顺序
2016-04-10 09:08
633 查看
子类A继承父类B A a = new A(); 则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块 执行的先后顺序是?
父类B静态代码块->子类A静态代码块->父类B非静态代码块->父类B构造函数->子类A非静态代码块->子类A构造函数
Super Class Static Block:Super Class Static Variable
Class Static Block:Class Static Variable
Super Class Block
Super Class Constructor Method
Class Block
Constructor Method
父类B静态代码块->子类A静态代码块->父类B非静态代码块->父类B构造函数->子类A非静态代码块->子类A构造函数
class SuperClass{ private static String STR = "Super Class Static Variable"; static{ System.out.println("Super Class Static Block:"+STR); } public SuperClass() { System.out.println("Super Class Constructor Method"); } { System.out.println("Super Class Block"); } } public class ObjectInit extends SuperClass{ private static String STR = "Class Static Variable"; static{ System.out.println("Class Static Block:"+STR); } public ObjectInit() { System.out.println("Constructor Method"); } { System.out.println("Class Block"); } public static void main(String[] args) { @SuppressWarnings("unused") ObjectInit a =new ObjectInit(); } }
Super Class Static Block:Super Class Static Variable
Class Static Block:Class Static Variable
Super Class Block
Super Class Constructor Method
Class Block
Constructor Method
相关文章推荐
- Java 中获取资源(文件)的路径问题总结
- java中的自动类型转换和强制类型转换
- java中的变量使用规则。
- Struts2文件下载
- Spring3 报org.aopalliance.intercept.MethodInterceptor问题解决方法
- javaWeb学习记录:c3p0数据库连接池;DBUtils工具
- Java--各种有趣的图案输出
- Java注释和javadoc工具
- Android中的依赖问题(五种依赖、eclipse、AS、添加第三方库、jar)
- Java split用法
- Java中Split函数的用法技巧--简述
- 20145229吴姗珊 《Java程序设计》第6周学习总结
- 20145308刘昊阳 《Java程序设计》第6周学习总结
- Java split用法
- 欢迎使用CSDN-markdown编辑器
- Java基础:运行时异常和非运行时异常
- android studio使用JDK8
- 使用eclipse编译ns3
- 用struts2框架中iframe对应的jsp页面的不到action的值
- eclipse中删除代码注释