Java继承中父类子类构造方法、静态代码块、非静态代码块的执行顺序
2013-09-26 10:35
846 查看
Java继承中,父类子类构造方法、静态代码块、非静态代码块的执行顺序:
先看代码:
父类A,子类B,都包含构造方法、静态代码块、非静态代码块三部分:
打印出来结果为:
父类A静态代码块
子类B静态代码块
父类A非静态代码块
父类A构造方法
子类B非静态代码块
子类B构造方法
因此,在Java继承中,父类子类构造方法、静态代码块、非静态代码块的执行顺序:
父类静态代码块 > 子类静态代码块 > 父类非静态代码块 > 父类构造方法 > 子类非静态代码块 > 子类构造方法
如有纰漏,欢迎斧正
先看代码:
父类A,子类B,都包含构造方法、静态代码块、非静态代码块三部分:
public class A { //父类构造方法 public A(){ System.out.println("父类A构造方法"); } //父类静态代码块 static{ System.out.println("父类A静态代码块"); } //父类非静态代码块 { System.out.println("父类A非静态代码块"); } }
public class B extends A{ //子类构造方法 public B(){ System.out.println("子类B构造方法"); } //子类静态代码块 static{ System.out.println("子类B静态代码块"); } //子类非静态代码块 { System.out.println("子类B非静态代码块"); } public static void main(String[] args) { new B(); } }
打印出来结果为:
父类A静态代码块
子类B静态代码块
父类A非静态代码块
父类A构造方法
子类B非静态代码块
子类B构造方法
因此,在Java继承中,父类子类构造方法、静态代码块、非静态代码块的执行顺序:
父类静态代码块 > 子类静态代码块 > 父类非静态代码块 > 父类构造方法 > 子类非静态代码块 > 子类构造方法
如有纰漏,欢迎斧正
相关文章推荐
- java中关于try、catch、finally中的细节分析
- 定时器实现 使用spring
- Spring的JDBCTemplate
- Install Java SE 7 SDK on Debian Wheezy
- MyEclipse,Eclipse代码自动提示帮助问题
- Java注释Override、Deprecated、SuppressWarnings详解
- java中&和&&的异同
- Java中的getResourceAsStream有以下几种
- Sonar入门(四):Eclipse集成Sonar
- JAVA中异常的分类
- 【转】 java中匿名对象分析
- Eclipse中的SVN的冲突解决方案详解
- myeclipse添加server library
- Java java.text.ParseException: Unparseable date
- Java中的ReentrantLock和synchronized两种锁定机制的对比
- SVN使用教程之-分支/标记 合并 subeclipse
- Eclipse中Cannot find any provider supporting DES解决之道
- Flex+BlazeDS+java通信详细笔记
- Java 中 Comparable 和 Comparator 比较
- java.lang.NoSuchMethodException: com.opensymphony.xwork2.ActionSupport.XXX