如果子类要调用父类的无参构造函数,则通过super()调用来实现。
子类的每一个构造方法都必须显式或隐式调用父类的一个构造方法。
如果不显式调用, 则系统隐式调用super(),即父类的无参构造方法(如果父类无任何构造方法, 则系统为父类自动提供一个无参构造方法; 如果父类已经有一个构造方法, 系统不会额外提供无参的构造方法,
此时, 如果父类仅定义了有参构造方法, 并且子类没有定义任何的构造方法(系统会为它提供一个无参构造方法, 然后隐式调用父类无参构造方法), 或子类定义的构造方法中没有显式调用父类的有参构造方法(会隐式调用父类的无参构造方法), 就都会因为父类没有无参构造方法而报错。
super关键字在子类内部使用,代表父类对象。
访问父类的属性 super.属性名
访问父类的方法 super.方法名()
子类构造方法需要调用父类的构造方法时,在子类的构造方法体里最前面的位置:super()