1. 如果子类没有定义构造方法,则默认调用父类的无参数的构造方法。
2. 如果子类定义了构造方法,不论是有参还是无参的构造方法,在创建子类的对象的时候,首先执行父类无参数的构造方法,然后执行自己的构造方法。
3.想要执行子类的时候调用父类的有参构造方法,可以在子类的构造方法的第一句加super(父类的参数)
4.如果父类里面有有参构造方法,这样就没有了无参构造方法,但是执行子类的时候必须调用父类的无参,所以会报错
5.要让4不出现错误,必须在子类的的构造方法的第一句调用父类的有参,那么就不会调用无参了,就不会出错了,所以在子类的构造函数里面加super(参数)
6.new出一个子类对象时,没有特别处理的时候,必须先调用父类的有参构造方法或者无参构造方法的一种,然后再调用子类的构造方法
当子类继承父类时,构造方法的调用遵循特定规则:1)子类如果没有定义构造器,则默认调用父类的无参构造器。2)若子类定义了构造器,无论有无参数,都会先执行父类的无参构造器,再执行子类的构造器。3-4)如果父类只有有参构造器,子类必须在构造器中使用`super`关键字显式调用父类的有参构造器,否则会出错。5-6)创建子类对象时,必须先调用父类的构造方法,然后是子类的构造方法。
6837

被折叠的 条评论
为什么被折叠?



