为了账号安全,请及时绑定邮箱和手机立即绑定

Dog other=(Dog)obj;这一行代码是什么意思?

Dog other=(Dog)obj;这一行代码是什么意思?

一幢不高的楼 2016-09-21 22:15:44
为什么要把传进来的obj转化成Dog类型?Dog类型是什么?
查看完整描述

3 回答

已采纳
?
JustWannaHugU

TA贡献452条经验 获得超796个赞

Object是任何类的父类;推一下:因为Object 的子类是Animal,Animal的子类是Dog

推出Object的子类是Dog

在这个视频中obj是Object类的一个实例对象

你困惑的代码是重写后的equals方法

这段代码要传入一个Object对象的;

Dog other=(Dog)obj这段代码的作用是:在两个对象(obj和当前比较对象)是相同类型的情况下,将obj类强制转换成Dog子类型,再比较两个变量的属性值是否相等,目的是为了判断两个对象是否相同~

getClass是反射知识,你以后才会学到,不过你要清楚的是,Dog other=(Dog)obj是向下转型,在保证安全的情况下(经过getclass()的判断已经能保证是同一个对象了),才可以将大类型的强制转化成小类型的对象~



查看完整回答
反对 回复 2016-09-21
?
JustWannaHugU

TA贡献452条经验 获得超796个赞

没找到你说的视频是哪个?...

重写equals那一节没有obj和other啊...

你也不发链接,


还有这个问题:放在同一个类里面才能比较他们的属性吗?

不知道你哪不懂

查看完整回答
反对 回复 2016-09-21
?
JustWannaHugU

TA贡献452条经验 获得超796个赞

这行代码的意思是把obj强制转换成Dog类型的对象

这属于向下转型,应该是有他的目的,具体代码具体分析

Dog类是obj所属类的一个具体子类~

查看完整回答
反对 回复 2016-09-21
点击展开后面1
  • 3 回答
  • 1 关注
  • 1880 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信