Scala伴生对象的使用

来源:互联网 发布:物理电子学知乎 编辑:程序博客网 时间:2024/05/05 16:07
package com.hks/** * Created by Administrator on 2016/4/17 0017. */class Companion(var name:String,var age:Int){  val id = Companion.newStudentNO  private var number = 0  def setNumber(number: Int) { this.number += number }}object Companion{  private var studentNO = 0  def apply(name:String,age:Int) = new Companion(name , age)  def newStudentNO = {    studentNO += 1    studentNO  }  def main(args: Array[String]) {    /*直接调用Companion class类,不会调用 Companion object的apply函数*/    val gary01 = new Companion("Spark" , 18)    println( gary01.name )    println( gary01.age )    println( "------->" )    /*这里会调用 Companion object的apply函数,并且伴生一个 Companion class对象*/    val gary =  Companion("Spark" , 18)    println( gary.name )    println( gary.age )  }}

0 0
原创粉丝点击