scala中伴生對象和伴生類

特徵:一個單例對象未必是一個伴生對象,但是一個伴生對象一定是一個單例對象

與類名相同並且用Object修飾的對象叫做伴生對象,同樣類被稱爲是這個單例對象的伴生類,類和伴生對象之間可以互相訪問對方的私有方法和屬性

注意:必須在同一個源文件裏定義類和它的伴生對象。

object Lover {

  private val  ribs = "女人"

  def main(args: Array[String]): Unit = {
    var l = new Lover
    println(l.name)
        l.love()
  }
}

class Lover{
  var name: String = "男人"

  private def love():Unit = {
    println(s"${name}的第二十四根肋骨是---->${Lover.ribs}")
  }


}

class Cat {
  private var name: String = "lanmao"

  println(Cat.skill)

  private def action(): Unit = {
    println(s"${name}_${Cat.skill}")
  }
}

object Cat {
  private val skill = "撓人"

  def main(args: Array[String]): Unit = {
    val c = new Cat
    println(c.name)
    c.name = "tumao"
    c.action()
  }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章