分析下列代码的执行顺序
我们先分析下SubClass和SuperClass,SuperClass是SubClass的父类,我们知道,在子类的构造器初始化的时候,默认在第一行会有一个super()去调用父类的构造器
所以我们分析,这两个构造器的执行顺序应该是
父类>子类
也就是
superclass构造器>2
我们再来分析App类
我们发现App这个类是依赖于SubClass这个类的
就是,如果没有了SubClass这个类,连编译时期都无法通过,所以在这两个类之间应该先加载SubClass这个类,我们又知道static是一开始加载金虚拟机的,所以应该先打印1
1>superclass构造器>2
非static修饰的字段都是有现在构造其中实行的
所以我们看到的这样代码
其实相当于