Java重载与重写区别

旧时模样 提交于 2020-02-03 08:11:57
重载overload 重写override
实现编译时的多态 实现在运行时的多态
发生在一个类中 发生在父类和子类之间
方法名相同,参数列表不同(参数类型不同、参数个数不同或者二者都不同),对返回值没有要求 方法名相同,参数列表相同,返回值相同,方法体不同

重写具体要求
里氏代换原则:
重写要求子类被重写方法与父类被重写方法有相同的返回类型
比父类被重写方法更好访问
不能比父类被重写方法声明更多的异常

也就是两小一大:
方法名相同,参数类型相同
子类返回类型小于等于父类方法返回类型,
子类抛出异常小于等于父类方法抛出异常,
子类访问权限大于等于父类方法访问权限。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!