Super()关键字...它可以用来调用一个以上超类的构造函数吗?

Sha*_*vil 2 java inheritance

我想我错过了一些东西,或者没有点击我的东西.我正在读一本关于java的书,我刚学到了super().当用于获取构造函数时,它从一个超类中获取构造函数,对吗?如果你想去两个超级课程怎么办?怎么办呢?

有些东西并没有坐在我的大脑中,我希望这个问题可以帮助我把各个部分放在一起.

Kep*_*pil 7

你不能上升两级.您只能决定打电话给您的父母.然后该类负责依次调用其父级.

请注意,所有构造函数(根构造函数除外Object)都调用超级构造函数.如果没有显式指定它,或者,如@PaulBellora所添加的,第一个语句是this()对类的另一个构造函数的调用,编译器会super()在每个构造函数中插入一个调用作为第一个语句.

  • "编译器插入一个`super()`call" - 除非调用`this()`. (2认同)