声明:个人全部文章,都是对网上教学视频的整理,包括狂神说、尚硅谷、黑马程序员等等,用来做为参考资料,无任何商业使用,请广大网友参考,不喜勿喷,谢谢。(注意,因为网站的缘由,有些代码字符可能会出现问题,建议你们阅读代码时,最好和下面的图片对应来看)程序员
1、定义
在子类中能够根据须要对从父类中继承来的方法进行改造,也称为方法的重置、覆盖。在程序执行时,子类的方法将覆盖父类的方法。ide
2、要求
1.子类重写的方法必须和父类被重写的方法具备相同的方法名称、参数列表
2.子类重写的方法的返回值类型不能大于父类被重写的方法的返回值类型
3.子类重写的方法使用的访问权限不能小于父类被重写的方法的访问权限,而且子类不能重写父类中声明为private权限的方法
4.子类方法抛出的异常不能大于父类被重写方法的异常
网站
3、注意
子类与父类中同名同参数的方法必须同时声明为非static的(即为重写),或者同时声明为 static的(不是重写)。由于static方法是属于类的,子类没法覆盖父类的方法。spa
4、示例
在上面代码的基础上,咱们来分析下面这几行代码:
Person p1 = new Person();
p1.getInfo(); //调用Person类的getInfo()方法
Student s1 = new Student();
s1.getInfo(); //调用Student类的getInfo()方法
这是一种“多态性”:同名的方法,用不一样的对象来区分调用的是哪个方法。
视频