子类可以使用 super(parameter-list);.
parameter-list 必须指定超类构造函数所需的参数。
子类构造函数中执行的第一条语句必须始终是 super(); (或者 super(parameter-list); 如果需要传递参数).
以下是 TwoDShape 的一个版本,带有初始化宽度和高度的构造函数。
Triangle子类使用super(w, h)调用TwoDShape超类的构造函数,传递w和h的值。
TwoDShape 的构造函数将宽度和高度初始化为这些值。
Triangle子类不需要初始化宽度和高度,只需要初始化样式值,这是它独有的。
使用 super( ) 允许超类 (TwoDShape) 根据需要构造自己的子对象并添加功能,而子类不需要了解详细信息。
超类定义的每种形式的构造函数都可以用 super( ) 调用。执行的构造函数将是其参数与给定参数匹配的构造函数。
以下示例显示了 TwoDShape 和 Triangle 的扩展版本,其中包含默认构造函数和采用一个参数的构造函数。
调用超类构造函数:当子类调用 super( ) 时,它会调用其直接超类的构造函数。
对直接超类的引用: super( ) 始终引用紧邻调用它的类之上的超类,即使在多级层次结构中也是如此。
构造函数中的第一条指令: super( ) 必须是子类构造函数中执行的第一条指令。这确保了对象的超类部分在子类构造函数执行自己的代码之前被初始化。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3