1,主构造器
2,辅助构造器
同java中的构造方法
构造器分为两类:主构造器,辅助构造器
主构造器直接在类名后面定义。
每个类都有主构造器,主构造器的参数直接放置类名后面,与类交织在一起。
如果没有定义构造器, 类会有一个默认的空参构造器
辅助构造器自定义,使用def this关键字,而且必须调用主构造器,或者其他的辅助构造器
注意:主构造器会执行类定义中的所有语句
scala的构造器
主构造器和辅助构造器
创建对象的同时对属性赋值,初始化赋值
主构造器,和类的定义交织在一起,如果主构造器的变量使用了val或var修饰,变成了类的一个成员属性。
辅助构造器,def this(参数列表),
辅助构造器的第一行,必须调用其他的构造器(主,辅助。。。)
辅助构造器和主构造器的参数列表,不能完全一致,参数类型和个数一致。
如果想定义空参的辅助构造器,调用的主构造器的参数必须赋值(初始化)
作用域范围:
主: 类中除了属性和方法之外,都是构造器的作用域
辅助: 只在自己的方法范围之内