1. 程式人生 > >Scala學習筆記(二):類和物件

Scala學習筆記(二):類和物件

object

object 是隻有一個例項的類。它的定義與Java中的class類似,如:

// 單例物件
object AppEntry {
    def main(args: Array[String]): Unit = {
      print("Hello World!")
    }
}

其中有main方法,它與指令碼執行方式不同,需要先編譯(scalac),後執行,與java類似:

App

執行object,除了使用main方法,還可以直接繼承trait(類似於Java中的介面)--App:

object AppEntry1 extends App {
  print("Hello World, by extends App!")
}

伴生物件

與類同名的物件稱為伴生物件。相反,該類是物件的伴生類。伴生類或物件可以訪問其伴隨的私有成員。將伴生物件用於方法和值,這些方法和值不是特定於伴生類的例項。

import scala.math._

case class Circle(radius: Double) {

  import Circle._

  def area: Double = calculateArea(radius)
}

object Circle extends App {
  private def calculateArea(radius: Double): Double = Pi * pow(radius, 2.0)

  val circle1 = new Circle(5.0)
  print(circle1.area)
}