### 设计定位不同,case class 更轻量级,专为数据建模而生
class OrdinaryStudent (name: String, age: Int)
val ordinaryStudent = new OrdinaryStudent ("Bob", 17)
val student = Student ("Alice", 18, "Grade 12")
val student = Student ("Alice", 18, "Grade 12")
println (student.toString)
val student1 = Student ("Alice", 18, "Grade 12")
val student2 = Student ("Alice", 18, "Grade 12")
val student3 = Student ("Bob", 17, "Grade 11")
println (student1.equals (student2))
println (student1.equals (student3))
println (student1.hashCode == student2.hashCode)
val student = Student ("Alice", 18, "Grade 12")
val updatedStudent = student.copy (age = 19)
println (student)
println (updatedStudent)
println (anotherStudent)
class OrdinaryStudent (val name: String, val age: Int, val grade: String){
override def toString:String = s"OrdinaryStudent (\(name,\)age,$grade)"