java中super(),与构造方法链(constructor chaining)
Posted Keep
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中super(),与构造方法链(constructor chaining)相关的知识,希望对你有一定的参考价值。
public class Apple extends Fruit { } class Fruit{ public Fruit(String name){ System.out.println("Fruit\'s constructor is invoked"); } }
这一段代码好像看上去没啥问题吧,编译之后给的错是
由于Apple中没有显式的定义构造方法,所以,Apple的默认构造方法被调用了,因为Apple是Fruit的子类,Apple隐式构造函数第一句将执行super(),于是乎去调用Fruit的构造函数,但是Fruit类没有无参构造函数,调用出错。
以上是关于java中super(),与构造方法链(constructor chaining)的主要内容,如果未能解决你的问题,请参考以下文章