Scala对象创建流程
class Person {
var age:Short = 90
var name:String = _
def this (n:String, a:Int){
this
this.name = n
this.age = a
}
}
var p:Person = new Person("小薄",18)
流程分析:(面试题)
1)加载类的信息(属性信息,方法信息)
2)在内存中(堆)开辟空间
3)使用父类的构造器(主和辅助)进行初始(此处是与java的区别)
4)使用主构造器堆属性进行初始化【age:90,name null】
5)使用辅助构造器对属性进行初始化【age:18,name 小薄】
6)将开辟的对象的地址赋给p这个引用