- 有参数构造函数和无参数构造函数
- super关键字
- Constructor Chaining
- 如果一个类会被继承, 最好显性的写出无参构造函数
无参构造函数:
- 在创建对象时自动调用无参构造函数
有参数构造函数
super关键字
- 一个类可以用很多有参构造函数, 也叫constructor overloading
- 创建对象时, 根据参数类型和顺序判断调用哪个构造函数
- 如果定义了有参构造函数, 则没有无参构造函数 除非显性的写出来
使用super调用父类constructor
super()
: The statement super() invokes the no-arg constructor of its superclasssuper(argument)
: super(arguments) invokes the superclass constructor that matches the arguments
编译器自动调用super
Constructor Chaining
- 如果子类的constructor没有显示的调用父类的构造函数, 则编译器自动调用
- 上图中Apple没有显性的定义构造函数,则Apple的无参构造函数会被调用
- Apple的无参构造函数会自动调用Fruit的无参构造函数, 但是Fruit有定义有参构造函数,所以没有无参构造函数了
- 所以需要在Fruit显性的定义无参构造函数.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)