10 Scala 伴生对象基本使用

object Accompanyobject {
  def main(args: Array[String]): Unit = {
    println(ScalaPerson.sex)  // true 在底层等价于 ScalaPerson.MOUDLE$.sex()
    ScalaPerson.sayHi() // 在底层等价于 ScalaPerson.MOUDLE$.sayHi()
  }
}

// 说明:
// 1. 当在同一个文件中,如果有class ScalaPerson 和object ScalaPerson 时
// 2. class ScalaPerson称为伴生类,将非静态内容写道该文件中
// 3. object ScalaPerson  是class ScalaPerson的伴生对象,将静态的内容写入到该文件中
// 4. class ScalaPerson在底层编译后后生成一个ScalaPerson类,即ScalaPerson.class
// 5. object ScalaPerson在底层编译后后生成一个ScalaPerson$类,即ScalaPerson$.class
// 6. 对于伴生对象来说,我们可以直接通过 ScalaPerson.属性或 ScalaPerson.方法 来使用


// 类
class  ScalaPerson{
  var name:String = _
}


// 伴生对象,伴生类
object ScalaPerson{
  var sex:Boolean = true

  def sayHi(): Unit ={
    println("hello~~~")
  }

Guess you like

Origin blog.csdn.net/u014644167/article/details/108564134