如何判断两个对象是否相等的方法与区别
时间:2026-08-15 | 作者:夜鞌不睡 | 阅读:0怎么判断 this 和 obj 是不是相等?逻辑其实很直接:只要姓名和学号都一致,就可以认定这两个学生表示的是同一个人。
目标也很明确,就是判断他们是不是同一个人。因此,用 == 输出结果时,预期就应该是 true。
package level
object class04 {
class Student(var name:String,var id:String, var age:Int) {
// equals 相等
override def equals(obj:Any): Boolean = {
println("调用了equals")
println(this,obj)
val other = obj.asInstanceOf[Student]
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("小花","20230012",18)
println(stu1==stu2)
println(stu1==stu3)
}
}
单例对象的特点
单例对象的特点其实很直白。
- 整个运行过程中只会有一个实例,不能通过 new 的方式随意创建。
- 很适合用来集中存放工具方法,实际开发里也很常见。
package level
object class05 {
// object 对象名{
// 属性:
// 方法;。。。。
// }
object MyTool {
val PI =3.14
// 方法
def Area(r:Double):Double = {
PI*r*r
}
}
def main(args: Array[String]): Unit = {
// 对象,属性名
// 对象,方法名()
println(MyTool.PI)
println(MyTool.Area(10))
}
}
伴生类 和 伴生对象
- 类和对象同名。
- 在一个文件中。
类就是伴生类,对象就是伴生对象。
特点:可以相互访问对方的私有成员。
package level02
object class06 {
class Student() {
// private 修饰的属性,无法在类的外部被访问!
private val hobby = "打游戏"
}
object Student {
def introduce(stu: Student): Unit = {
println(s"我的爱好是:${stu.hobby}")
}
}
def main(args: Array[String]): Unit = {
val stu1 = new Student()
// stu1.hobby // 无法访问私有属性
Student.introduce(stu1)
}
}
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- 迅捷路由器怎么调信号最强,设置时要注意什么?
- 时间:2026-08-27
-
- vivo浏览器怎么卸不掉?原因和解决方法在这里
- 时间:2026-08-27
-
- OPPO R11s黑屏了,怎么强制恢复出厂设置?
- 时间:2026-08-27
-
- 飞利浦显示器包装盒有生产日期和保修期吗?怎么看?
- 时间:2026-08-27
-
- 联想新平板开机必须联网吗?怎么做?
- 时间:2026-08-27
-
- 平板横竖屏切换设置与问题解决
- 时间:2026-08-27
-
- 移动电源容量怎么测?要准备哪些工具?
- 时间:2026-08-27
-
- 荣耀90 Pro防水吗?防水级别多少?怎么用才安全
- 时间:2026-08-27
精选合集
更多大家都在玩
大家都在看
更多-
- 糖尿病完全不能吃糖吗
- 时间:2026-09-15
-
- 蚂蚁庄园小课堂2026年9月16日最新题目答案
- 时间:2026-09-15
-
- 小鸡答题今天的答案是什么2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园每日答题答案2026年9月16日
- 时间:2026-09-15
-
- 以下哪种粮食是酿造绍兴黄酒的主要原料 蚂蚁庄园今日答案9月16日
- 时间:2026-09-15
-
- 劝学名句“及时当勉励,岁月不待人”出自哪位诗人 蚂蚁庄园今日答案9.16
- 时间:2026-09-15
-
- 蚂蚁庄园今天答题答案2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园答题今日答案2026年9月16日
- 时间:2026-09-15
