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()
  }
}

 

posted @ 2018-08-06 11:29  马鞍山  阅读(513)  评论(0编辑  收藏  举报