在Scala中,扩展一个类(即使用extends
关键字创建一个子类)不会自动继承父类的辅助构造器。辅助构造器是在父类中定义的额外构造函数,用于创建对象时提供不同的参数组合。
当子类扩展父类时,它只继承了父类的主构造器。如果需要在子类中调用父类的辅助构造器,可以使用super
关键字显式地调用父类的辅助构造器。
以下是一个示例代码,演示了如何在Scala中扩展一个类并使用父类的辅助构造器:
class Person(var name: String, var age: Int) {
def this(name: String) {
this(name, 0) // 父类的辅助构造器
}
}
class Employee(name: String, age: Int, var salary: Double) extends Person(name, age)
val employee = new Employee("Alice", 25, 5000.0)
在上面的例子中,Person
类定义了一个主构造器和一个辅助构造器。Employee
类扩展了Person
类,并通过调用父类的辅助构造器来创建对象。
请注意,以上答案不涉及任何特定的云计算品牌商或相关产品链接。如有需要,请参考相关文档或官方网站了解更多详细信息。
领取专属 10元无门槛券
手把手带您无忧上云