您的位置:首页 > 其它

普通class和case class的区别

2018-01-08 15:58 309 查看
package com.lyzx.day19

class A(name:String,age:Int){

}

case class B(name:String,age:Int){

}

/*
普通class和case class的区别
case class 的构造参数默认为val即默认实现了getter方法
如果构造参数申明为var则默认实现了getter和setter方法

与普通class最大的区别是可以匹配
*/
class ScalaBasic {
def f1(): Unit ={
val a = new A("lyzx",22)
val b = B("lyzx",22)

print(b.name)
}

def f2(obj:B): Unit ={
obj match{
case B("xxx",34) => println("不是我")
case B("lyzx",24) => println("是我...")
case _ => println("no match...")
}
}
}

object ScalaBasic{
def main(args: Array[String]) {
val sb = new ScalaBasic
//    sb.f1()

val b = new B("xxx",34)
sb.f2(b)
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: