1:构造器问题
构造器名称与类名一致 ,无返回值。所以构造器不能被继承 不能重写(父类 子类类名不能同名)
但构造器可以重载
构造器 new 子类() 默认先调用父类的构造,
隐藏了super();也可以显示调用super(), 再调用子类的构造
如果父类没有默认的构造函数的时候,必须要手工指定调用
父类的哪个带参的构造方法 用super(参数列表。。。)
同一个类的构造器之间可以单独调用 但不能互相调用
注意:调用只能用this(); 或者this(参数列表...)
构造器之间的调用只能放在另外一个的第一行
为什么子类一定要实现父类的有参构造方法?
你在Xx类里定义了一个带参数的构造方法,那么这个Xx类就没有无参数的构造方法了。
子类在继承父类时,如果没有相同的带参构造方法,那么他就需要在其构造方法中明确的通过super()调用父类的带参构造方法,否则构造不出父类,从而也构造不出他自己了。
你如果在父类中写个不带参数的构造方法,就可以不用实现父类的带参构造方法了。