package com.wyh.day01
/**
* 样例类的使用
* 1、使用case修饰类
* 2、不需要写构造方法,getter,setter方法,toString方法
* 3、直接通过对象名进行调用
* 4、自动重写方法
*
*/
object ScalaApply {
def main(args: Array[String]): Unit = {
val animal = Animal("小黄",2)
println(animal)
val dog = Dog.apply("大黄",2)
println(dog)
}
}
/**
* 样例类
*/
case class Animal(name:String,age:Int)
/**
* 解释样例类使用的时候为什么不需要new关键字
*
* 伴生对象
*/
class Dog(name:String,age:Int){
var _name:String = name
var _age:Int = age
override def toString: String = _name+"\t"+_age
}
/**
* 伴生对象
*/
object Dog{
def apply(name:String,age:Int): Dog = {
new Dog(name,age)
}
}