在scala下建立一个包名为org.scala.clazz ,建立scala类名为OOPInScala.scala ,并增长object OOPInScalaweb
(图片上包明有误,应该是org.scala.clazz)函数
建立一个User类 并增长name和age字段this
调用User类并执行scala
private[this]的使用orm
咱们能够看到 gender属性是 inaccessible的,这样使用private[this]定义后的内容能够没法被外部使用了,这样启动很好的保护的做用了图片
类的构造器:it
主构造器使用:编译
调用:变量
从上面运行的结果咱们能够发现scala主构造器特色:object
一、主构造器直接跟在类名后面,主构造器中的参数会被编译成类的字段
二、主构造器执行的时候会执行类中的全部不包含在方法体中的语句
若是咱们把User主构造器中的 name前面的val去掉后,在运行下
咱们能够发现报错信息为name字段不是一个User类的成员变量
所以咱们能发现scala主构造器的第三个特色 三、主构造器函数的参数中没有用var 或者val去声明变量,那此时的变量是private[this]级别的,只能被类内部使用
附属构造器的使用:
一、附属构造器是使用this来声明的
二、附属构造器必须调用主构造器或者其余附属构造器
调用结果为: