1)当不是new关键字来创建对象的时候,使用apply可以使我们的代码更简洁
class Person {
var name: String = _
var age:Int = 0
}
object Person{
def apply(name:String): Person = {
val person = new Person
person.name = name
person
}
def apply(name:String, age:Int): Person = {
val person = new Person
person.name = name
person.age = age
person
}
}
现在可以不使用new关键字来创建Person对象了
val person2 = Person("Mike")
val person3 = Person("Mary", 23)