scala中object class trait区别

参考文档:https://www.oreilly.com/library/view/learning-scala/9781449368814/ch09.html

scala中locally类似于java中静态代码块

_ 类似于java中导包的星号,java.util.*,以及默认值

package HelloScala

object scala {
  @volatile var i: person = _
  def main(args : Array[String]): Unit = {
    println(i)
    println("hello scala %d".format(12))
    println(a.speak)
  }
}
class person(name:String){
  val nam = name
}
object a{
  def speak = "I'm A"

  object b
  locally{
    println("I have not invoke this block")
  }
}

输出结果如下:

null
hello scala 12
I have not invoke this block
I'm A

Process finished with exit code 0

 

你可能感兴趣的:(scala)