学习笔记10:Scala单例对象、伴生对象

// 伴生类
class University{
  // 调用伴生对象的方法
  val id = University.newStudenNo
  private var number =0
  def aClass(number:Int){this.number += number}
}

//  伴生对象 : 里面的方法 和 变量都是静态的
object University{
  private var studentNo = 0;// 私有静态的变量
   def newStudenNo = {  // 静态的方法
    studentNo += 1
    studentNo // 作为返回值
  }
 
  private def newStudenNo2() = {  // 静态私有的方法:不能被外部访问
    studentNo += 1
    studentNo
  }
   def test={
     println(newStudenNo2()); // 只能在内部调用
   }
  // 在伴生对象中调用伴生类
  new University().aClass(122);
}


object ObjecOps {
  def main(args: Array[String]): Unit = {
    println(University.newStudenNo) // 调用伴生对象的静态方法
    println(University.newStudenNo) 
    var obj = new  University(); // 实例化一个伴生类
    obj.aClass(100);
  }

你可能感兴趣的:(学习笔记10:Scala单例对象、伴生对象)