equals方法中的问题;;;;

输入Object c;
将c进行强转之后,
c的属性和子类的属性进行比较,为什么是子类和子类之间的比较,
而不是父类和子类的比较。

你看看equals 方法的源代码就知道的

equals默认是按照对象比较,但是这个函数可以被你重载,你可以自定义比较规则。比如所有字段相等,就视作两个对象相等。
但是一般情况下,我们不建议不同类型的两个对象比较出true的结果,因为这让调用它的程序员感觉困惑。