apply()的使用,apply⽅法⼀般都声明在伴⽣类对象中,可以⽤来实例化伴⽣类的对象
unapply()的使用,也被称为提取器
object Hello {
def main(args: Array[String]): Unit = {
val test0 = new Test02("goudan")
val test01 = Test02("goduan")
val goudan = new Test02("狗蛋", 19)
//不需要直接使用new就可以直接实例化对象是因为,伴生类对象中实现了def apply(name: String, age: Int)
val goudan2 = Test02("goudan",10)
//这个里因为自动调用了unapply()方法,得到了一个元组,将元组的元素依次赋值给每一个变量
val Test02(name,age)=goudan
}
}
//这个是主构造器
class Test02(var name: String) {
private var age: Int = _
//这个是辅助构造器
def this(name: String, age: Int) {
this(name)
this.age = age
}
}
//这个是伴生类对象
object Test02 {
def apply(name: String): Test02 = new Test02(name)
def apply(name: String, age: Int): Test02 = new Test02(name,10)
def unapply(arg: Test02): Option[(String,Int)] = Option(arg.name,arg.age)
}
Scala中的apply()方法和unapply()方法的使用
最新推荐文章于 2023-02-21 19:35:22 发布
本文介绍了Scala中伴生类的apply和unapply方法的使用。apply方法常用于创建伴生类的对象,而unapply则作为提取器用于模式匹配,从对象中提取值。示例展示了如何通过apply创建对象,以及如何利用unapply进行解构赋值。
摘要由CSDN通过智能技术生成