Scala的主构造器
主构造器的作用是为类创建对象,是创建对象的入口。
-------scala的主构造器定义方式-------
class 类名 ([parameterl,parameter2......l){
}
-------主构造器参数-------
(1) val:定义不可修改的参数。
(2) var:定义可以修改的参数。
(3) 非val 和 var。
-------私有主构造器参数-------
私有主构造器存在的目的是防止外部随意创建对象,将构造器私有化之后,将不可以再随意创建对象。在Scala中使用private关键字修饰私有主构造器,private关键字位于类名和参数列表之间。
Scala的辅助构造器
主构造器私有化之后,可以通过辅助构造器创建对象。Scala的辅助构造器可以为类提供多种创建对象的方式。
-------scala的辅助构造器定义方式-------
this([parameterl,parameter2......l){
}
通过this关键字定义辅助构造器时,参数列表中的参数使用逗号分隔,辅助构造器没有私有化。
-------辅助构造器与主构造器的关系-------
辅助构造器一定会调用主构造器。当声明一个类时,只有一个构造器。如果想应用辅助构就一定要调用主构造器。当辅助构造器是类中的第一个辅助构造器时,一定会先调用主构造器, this.的方式调用主构造器。
-------辅助构造器与辅助构造器的关系-------
辅助构造器在应用时除了可以调用主构造器之外,还可以调用已经定义的辅助构造器。需要的是辅助构造器会先调用主构造器。
Scala 的辅助构造器默认参数
Scala的辅助构造器和主构造器无论是参数的使用还是定义的方式都是相同的,Scala的辅助构造器默认参数的定义方式如下:
this([parameter1:type=value,parameter2:type=value......]){
}