首页 > 代码库 > 方法重载和重写的区别
方法重载和重写的区别
方法重写(overriding):
1、也叫子类的方法覆盖父类的方法,要求返回值、方法名和参数都相同。
2、子类抛出的异常不能超过父类相应方法抛出的异常。(子类异常不能超出父类异常)
3、子类方法的的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)
方法重载(overloading):重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同,最常见的重载的例子就是类的构造函数,可以参考API帮助文档看看类的构造方法
/** 方法重写(Overriding Method */class OverridingMethod { public static void main(String[] args) { HomeDog hd = new HomeDog("阿黄"); hd.desc(); }}//基类class Dog{ protected String name; public Dog(String name){ this.name = name; } protected void desc(){ System.out.println("I‘m a dog"); }}//子类class HomeDog extends Dog{ public HomeDog(String name){ super(name); } //重写父类的方法 public void desc(){ System.out.println("这是一只狗,它的名字是"+this.name); }}
输出结果为:这是一只狗,它的名字是阿黄
可见,调用的是子类中的desc()方法,而不是父类的desc,这就是方法的重写
方法重载和重写的区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。