有参数构造函数和无参数构造函数
无参构造函数:
有参数构造函数
- 一个类可以用很多有参构造函数, 也叫constructor overloading
- 创建对象时, 根据参数类型和顺序判断调用哪个构造函数
- 如果定义了有参构造函数, 则没有无参构造函数 除非显性的写出来
super关键字
使用super调用父类constructor
-
super()
: The statement super() invokes the no-arg constructor of its superclass
-
super(argument)
: super(arguments) invokes the superclass constructor that matches the arguments
编译器自动调用super
- 如果子类的constructor没有显示的调用父类的构造函数, 则编译器自动调用
Constructor Chaining
如果一个类会被继承, 最好显性的写出无参构造函数
- 上图中Apple没有显性的定义构造函数,则Apple的无参构造函数会被调用
- Apple的无参构造函数会自动调用Fruit的无参构造函数, 但是Fruit有定义有参构造函数,所以没有无参构造函数了
- 所以需要在Fruit显性的定义无参构造函数.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)