子类变量创建子类对象时,有存在先调用子类构造函数,后调用父类构造函数的可能吗?
你不要把这个和初始化顺序混淆了,理论上是先父类构造方法,但是调用哪一个呢,要根据子类你实例化的子类构造器的第一行代码是否是super或者super(...),如果是就先执行指定的父类构造方法,否则就执行父类的默认构造方法。
其实实际顺序是先进入子类的构造方法,通过子类构造方法第一行代码是否是super去执行父类构造方法(这就是子类构造方法中的super()必须在第一行的原因),然后再执行子类构造方法中的代码
不能 标准规定先父类后子类 由深到浅 由左到右
但是我看到有的文章写得是,先调用子类的构造函数,如果子类构造函数显示调用了父类的构造函数,这样就不会调用父类其他构造函数了,
也就是说评论这句话前一半是错的?
@矢志不渝,不忘初心!:
D