重载和重写的区别真的是太经典啦,如果你是小白,那么面试官必问的一个问题。
重载是方法名相同,返回值不同,参数列表不同。因为参数列表不同所以返回值不同。大多数面试官都会问重载返回值相同吗?不同。
重载在什么地方应用呢?他怎么用呢?
比如说:可以对同一个业务进行不同定义。
举例:我们登录一个网页,如果成功就会跳转到主页面,如果不成功就会拒绝访问。那么我们通过什么来判定他成不成功呢?在此期间他的一个工作流程是:
我通过后端返回的消息,来觉得用户能不能登录,如果用户名和密码对了,那就放行,你该干嘛干嘛。如果不对,不好意思,你自己反思。
那这个消息在我们程序中咋搞呢?我们一般弄个message类,在搞个两个message方法,放到这个类里面。然后我们就会有个小小的问题。难道都叫message吗?哦,你成功也message,失败也message,那我咋知道到底有没有这个账号呢?所以这个时候重载就闪亮登场啦。哎,重载说来几个message我完全木有问题呀,但是呀,你的列表参数不能一样,这个时侯呢,你就可以一个message只需要返回成功信息,一个message返回失败信息+你失败的原因。这就是重载啦。。。
重写嘛就是我有点写累了,下一篇写重写吧。