1private
默认情况下,类的属性在可以通过对象.属性名的方式来获取,如果不希望在类的外部被访问,可以用private来修饰
格式 class 类名 private 属性 private 方法
class Student(){
private val name:String;
}
object Test{
def main(args: Array[String]): Unit = {
val s = new Stuent()
s.name // 错误~~~~
}
}
二判断类和对象的关系
方法1: 对象.getClass()
方法2:对象.isInstanceof[类]
println("s".getClass())
println(p1.isInstanceof[Person])
3重写toString
定义toString方法
你可以在类的内部直接定义toString方法。这个方法通常不需要任何参数,并且返回一个String类型的结果。
override def toString: String = {
s"Person(name: $name, age: $age)"
}
4判断两个对象是相等的?
两个对象做比较==时,会自动调用equals方法。我们可以重写equals方法,并自己定义两个对象相等的标准。
override def equals(obj: Any): Boolean = {
true/false
if (obj == null || obj.getClass != this.getClass) return false
// 类型转换和字段比较
val other = obj.asInstanceOf[Student]
(this.ID == other.ID) && (this.name == other.name)
}