- private 的作用是什么?
在 Java 等面向对象编程语言中,private 是一种访问修饰符,主要作用是限制成员(包括成员变量和成员方法)的访问范围,具体表现为:
(1) 仅当前类可访问:被 private 修饰的成员,只能在其所在的类内部被直接访问或调用,类外部(包括子类、其他类)都无法直接访问。
(2) 封装性的核心体现:通过 private 隐藏类的内部实现细节(如敏感数据、不希望外部直接修改的变量),外部只能通过类提供的公共方法(public 方法)间接操作这些成员,从而保证数据的安全性和一致性。
- println (对象) 时,会自动调用对象的 toString 方法?
当使用
println(对象)时,会自动调用该对象的toString()方法。 - 使用 == 判断两个对象是否相等的时候,会调用
equals()方法?
两个对象做比较 == 时,会自动调用 equals 方法。我已定义两个对象相等的标准。
判断两个对象是相等的?
package l1
object l01 {
class Student(var name:String, var id:String,var age:Int) {
override def equals(obj: Any): Boolean ={
//equals 相等
println("调用了eguals..")
println(this,obj)
val other=obj.asInstanceOf[Student]
//判断this和obj是否相等的逻辑:姓名和学号都相等,说明这两个学习是同一个人
this.name==other.name && this.id == other.id
}
}
def main(args: Array[String]): Unit = {
val stu1=new Student("小花","20230012",18)
val stu2=new Student("小花","20230012",18)
val stu3=new Student("小花","20230013",18)
//目标,判断他们是一个人。使用==来输出的时候,应该要是true
println(stu1==stu2)//true
println(stu1==stu3)//false
}
}