在学到对Object类equals方法的重写的时候遇到一个问题总结一下
引用数据类型的强制转换一定要时父子类吗?
一定要是,并且遵循基本数据类型的转换模式,大转小需要强转,小转大可以直接转。
怎么理解方法重写的时候返回值是
return super.equals(obj);
为什么多态的方法形参一定要写个父类的
父类的方法形参在new对象调用的时候可以在形参内new一个要调用的重写的子类的方法
方法的多态性可以用两个方法表现
1.
方法区
Father fa =new son;
fa.fa(调用儿子重写方法)
如
public void fa(){
sout "我是爸爸"
}
pubic void fa(){
sout "我是儿子"
}
父类写一个方法形参列表要是父类
如 public void Method(Father father){
}
方法区调用
Father ff =new Father;
ff.Method(new son());
Object类重写的代码例子
这个重写的代码放在父类或者子类代码都是不一样的,且调用的方式不一样返回的结果也会不一样,总的来说代码有BUG,但能够看出BUG就很棒了。
new子类调用丢父类进去,和new父类调用丢子类进去的结果不一样。
放在子类通过父类调用equals是要强转的比较合理的。
放在父类通过父类调用equals不用强转,需要改代码,也是ok的。
p