类的属性、对象的私有字段与主构造器、私有构造器、重载构造器

来源:互联网 发布:期货行情软件下载 编辑:程序博客网 时间:2024/06/05 01:12

场景

scala中类的属性、对象的私有字段与主构造器、私有构造器、重载构造器实战

实验

package com.scode.scala/** * author: Ivy Peng * function:  * date:2016/02/23 23.34 * sum: *  * 1、属性默认就get、set方法,不需要显性写出-当然可以写出 * 2、private[this] attr 则表示该属性只能被当前实例访问 * 3、重载构造器首行必须显性申明其他重载构造器或者主构造器-为了保证所有变量完成初始化 * 4、类名称后加private表示,只能使用重载构造器 */class Teacher private(val name:String,val age:Int){  println("This is the primary constructor!")  var gender:String =_ //变量必须显性赋初始值  println(gender)  private[this] var salary = 5000    def this(name:String,age:Int,gender:String)=  {    this(name,age)//必须首行申明主构造器    this.gender = gender  }  //  def isHigher(ivy:Teacher)=ivy.salary > this.salary   //salary属性只能被当前实例访问,而不能被ivy访问}object OOPInScala{  def main(args:Array[String])  {//    val p = new Teacher("shasha",27) //主构造器类名加了 private,所以不能使用    println("--overload-constructor--")    val t = new Teacher("shasha",27,"female")    println(t.gender)  }}



参考文献

scala 深入浅出实战经典 . 王家林
0 0
原创粉丝点击