首页 > 代码库 > java类与继承的执行顺序
java类与继承的执行顺序
1.子类
public class TestClassLife extends TestClassLifeSuper { public TestClassLife() { System.out.println("3.构造行数被访问"); } { System.out.println("2.初始化块被访问"); } static { System.out.println("1.静态初始化块被访问"); } public void Go() { System.out.println("4.方法体"); }}
2.父类
public class TestClassLifeSuper { public TestClassLifeSuper() { System.out.println("3.父构造行数被访问"); } { System.out.println("2.父初始化块被访问"); } static { System.out.println("1.父静态初始化块被访问"); } private static String a = "1"; public void Go() { String b = a; System.out.println("4.父方法体"); }}
最终执行结果
1.父静态初始化块被访问
1.静态初始化块被访问
2.父初始化块被访问
3.父构造行数被访问
2.初始化块被访问
3.构造行数被访问
4.方法体
总统逻辑,先静态初始化,然后普通初始化,然后构造函数,先父后子。特殊情况,子类的静态初始化会紧跟父类的静态初始化
java类与继承的执行顺序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。