Dog other=(Dog)obj;这一行代码是什么意思?
为什么要把传进来的obj转化成Dog类型?Dog类型是什么? |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
Object是任何类的父类;推一下:因为Object 的子类是Animal,Animal的子类是Dog
推出Object的子类是Dog
在这个视频中obj是Object类的一个实例对象
你困惑的代码是重写后的equals方法
这段代码要传入一个Object对象的;
Dog other=(Dog)obj这段代码的作用是:在两个对象(obj和当前比较对象)是相同类型的情况下,将obj类强制转换成Dog子类型,再比较两个变量的属性值是否相等,目的是为了判断两个对象是否相同~
getClass是反射知识,你以后才会学到,不过你要清楚的是,Dog other=(Dog)obj是向下转型,在保证安全的情况下(经过getclass()的判断已经能保证是同一个对象了),才可以将大类型的强制转化成小类型的对象~ |
|
|
|
|
没找到你说的视频是哪个?...
重写equals那一节没有obj和other啊...
你也不发链接,
还有这个问题:放在同一个类里面才能比较他们的属性吗?
不知道你哪不懂 |
|
|
|
|
这行代码的意思是把obj强制转换成Dog类型的对象
这属于向下转型,应该是有他的目的,具体代码具体分析
Dog类是obj所属类的一个具体子类~ |
|
|
|
|