各位师兄,我遇到一些问题,麻烦您们抽时间给我解答一下。
我想重写idexsof方法,实现自己的放回逻辑,但是我又不会看api源码,所以我也很迷惑,重写这种已经定义好的方法要怎么做才能重写为自己的方法。
是自定义方法或者自定义类吗?
先把重写的概念搞清楚。重写是在继承的基础上实现的。
一般满足两个前提条件,父类中有一个这样的方法,子类重写的方法类似于对父类中该方法的拓展或者说独特的实现。
重写要求子类中的方法与父类中的方法的名字、参数和返回值相同,权限可以缩小不能扩大,只是该方法的代码块与父类的代码块不相同。
比如“人”这个父类中有一个方法叫“休息”,代码块为“睡觉”,那么到不同的子类中,可能某一个子类中把代码块修改为“看书”,另一个子类修改为“散步”,也可能某个子类不重写还是用“睡觉”。
这样不同的子类调用同一个方法但是会有各自不同的具体实现,就叫重写。