理论教育 Scala语言:超类构造的关键

Scala语言:超类构造的关键

时间:2023-11-24 理论教育 版权反馈
【摘要】:子类的辅助构造器会调用主构造器,主构造器可以调用超类的构造器。主构造器和类定义合在一起的,调用超类的构造器的方法也合在一起。

Scala语言:超类构造的关键

Scala继承类使用extends关键字,如先定义一个class Person1类:

class Worker类的定义继承了class Person1类,在类名之后使用extends Person1子句表示继承class Person1类:class Worker类继承class Person1类所有非私有的成员,class Worker类成为class Person1类的子类型。这样,class Worker类继承class Person1类,class Worker类被称为子类,而class Person1类被称为超类:

类有一个主构造器和多个辅助构造器,辅助构造器的名称为this;每一个辅助构造器都必须以一个先前已经定义的其他辅助构造器或主构造器的调用开始。子类的辅助构造器会调用主构造器,主构造器可以调用超类的构造器。主构造器和类定义合在一起的,调用超类的构造器的方法也合在一起。

以下代码定义了一个子类class Worker继承超类Person1:(www.daowen.com)

也同时定义了一个调用超类构造器的主构造器:

本例中class Worker子类的3个参数name:String,age:Int,val salary:Long有两个参数name:String,age:Int传递给了超类Person1的主构造器。创建一个子类new Worker("Spark",5,100000),会调用超类Person1的主构造器,给超类Person1的name、age赋值,执行超类Person1的主构造器的语句,如打印输出超类的语句The primary constructor of Per⁃son;然后调用子类Worker的主构造器,执行子类Worker的主构造器语句,打印输出子类的语句“This is the subClass of Person,Primary constructor of Worker。”

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈