猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
Dog other=(Dog)obj;这一行代码是什么意思?
为什么要把传进来的obj转化成Dog类型?Dog类型是什么?
一幢不高的楼
浏览 1881
回答 3
3回答
JustWannaHugU
Object是任何类的父类;推一下:因为Object 的子类是Animal,Animal的子类是Dog推出Object的子类是Dog在这个视频中obj是Object类的一个实例对象你困惑的代码是重写后的equals方法这段代码要传入一个Object对象的;Dog other=(Dog)obj这段代码的作用是:在两个对象(obj和当前比较对象)是相同类型的情况下,将obj类强制转换成Dog子类型,再比较两个变量的属性值是否相等,目的是为了判断两个对象是否相同~getClass是反射知识,你以后才会学到,不过你要清楚的是,Dog other=(Dog)obj是向下转型,在保证安全的情况下(经过getclass()的判断已经能保证是同一个对象了),才可以将大类型的强制转化成小类型的对象~
0
0
1
JustWannaHugU
没找到你说的视频是哪个?...重写equals那一节没有obj和other啊...你也不发链接,还有这个问题:放在同一个类里面才能比较他们的属性吗?不知道你哪不懂
0
0
3
JustWannaHugU
这行代码的意思是把obj强制转换成Dog类型的对象这属于向下转型,应该是有他的目的,具体代码具体分析Dog类是obj所属类的一个具体子类~
0
0
4
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Java
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续