【JavaSE】方法重载和重写
来源:互联网 发布:做原油的软件 编辑:程序博客网 时间:2024/04/30 05:40
下面的例子展现了方法重载和重写的区别:
package com.xs;/** * 重载和重写 * * @author Administrator * */public class OverLoadAndOverrideTest extends Service {/** * 方法重写 */@Overridepublic void request(RequestParamsA paramsA) {System.out.println("方法重写");}/** * 方法重载,不能加Override注解 * * @param hashMap */public void request(RequestParamsB paramsB) {System.out.println("方法重载");}/** * @param args */public static void main(String[] args) {OverLoadAndOverrideTest service = new OverLoadAndOverrideTest();service.request(new RequestParamsA());service.request(new RequestParamsB());}}class RequestParamsA {}class RequestParamsB extends RequestParamsA {}class Service {public void request(RequestParamsA paramsA) {}}输出:
方法重写方法重载
注:以上的设计实际上违背了里氏替换原则。根据里氏替换原则,子类重载父类的方法时,子类的前置条件(输入参数)应该比父类更宽松,以保证父类的重载方法优先被调用。这里为了演示方便就不深究了。
如果将重载的方法删掉,程序仍能执行,但输出结果如下:
方法重写方法重写
0 0
- 【JavaSE】方法重载和重写
- 方法重载和重写
- 方法重写和重载
- 方法重载和重写
- 方法重写和重载
- 方法重写和重载
- 方法重载和重写
- 方法重载和方法重写
- 方法重写和方法重载
- 方法重写和方法重载
- 方法重载和方法重写
- 方法重写和方法重载
- 方法重写和方法重载
- 方法重载和方法重写
- 方法的重写和重载
- 方法的重载和重写
- 方法的重写和重载
- 多态性:方法重写和重载
- 认识 C++ 中的 explicit 关键字
- 【源代码】一键分享各个社交平台_android
- Cognos report studio排序问题
- xcode c++ 编程错误 2
- 百度天气API详解
- 【JavaSE】方法重载和重写
- 最小生成树Prime算法
- easyui控件清除
- Photoshop脚本 > 改变当前选区的尺寸
- linux编译生成执行文件却提示无法打开的办法
- MATLAB,C++混编,调试
- 关于页面自动刷新
- @font-face制作Web Icon
- 关于__proto__和prototype