object Test01{classPerson{private[this] var _name: String = _
private[this] var _age: Int = _
// name get /set 方法 (自动生成)
def name: String = _name
def name_=(value: String): Unit ={
_name = value
}// age 的 get / set 方法 (自动生成)
def age: Int = _age
def age_=(value: Int): Unit ={
_age = value
}//辅助构造器 生成满参构造
def this(name: String, age: Int){//必须调用主构造器this()this.name = name
this.age = age
}}
def main(args: Array[String]): Unit ={
val zhangsan =newPerson("zhangsan",20)println(s"zhangsan.name = ${zhangsan.name}")println(s"zhangsan.age = ${zhangsan.age}")}}
方式 二
object Test02{// 注意 使用此方式 不能使用下划线初始化值classPerson(private[this] var name: String ="",private[this] var age:Int =0){//get / set 方法
def getName: String =this.name
def setName(name: String): Unit =this.name =name
// get / set 方法
def getAge: Int =this.age
def setAge(age:Int): Unit =this.age = age
}
val person =newPerson("张三");println(s"person.name = ${person.getName}")
val person1 =newPerson("张三",18);}