1. 程式人生 > >Scala 物件建立流程分析

Scala 物件建立流程分析

object ObjectCreate {
  def main(args: Array[String]): Unit = {
    var p: Person = new Person("jack", 20)
  }
}

class Person {
  var age: Short = 90
  var name: String = _

  def this(n: String, a: Short) {
    this()
    this.name = n
    this.age = a
  }
}
  1. 載入類的資訊 (屬性資訊,方法資訊)
  2. 在記憶體中 (堆) 開闢空間
  3. 使用父類的構造器 (主和輔助) 進行初始
  4. 使用主構造器對屬性進行初始化  【age:90,name null】
  5. 使用輔助構造器對屬性進行初始化【age:20,name jack】
  6. 將開闢的物件地址賦給 p 這個引用