方法重写的概念:在子类继承父类的过程中,不仅可以自动继承父类中的属性和方法,还可以根据需要对父类中原有方法进行改造,即重新定义,这就是方法重写。
方法重写的原则:
子类对父类方法进行重写时,必须遵循以下原则:
①方法名、参数列表相同。
②子类的访问权限大于或等于父类的访问权限。(访问范围:public>protected>default>private)
③子类抛出异常类型的范围小于或者等于父类方法抛出的异常类型范围。
重写的前提:需要有继承关系,子类重写父类的方法!
拓展:为什么需要重写?
- 父类的功能,子类不一定需要,或者不一定满足!
案例一
创建一个A类
//A类继承B类
public class A extends B{
@Override//Override重写
public void test() {
System.out.println("A=>test()");
}
}
创建一个B类
//重写都是方法的重写,和属性无关
public class B{
public void test(){
System.out.println("B=>test()");
}
}
创建一个Application类
public class Application {
public static void main(String[] args) {
A a = new A();
a.test();
B b = new A();
b.test();
}
}
运行结果:
案例二
public class Application {
public static void main(String[] args) {
Student student = new Student();
student.name="林枫";
student.age=20;
student.sex = "男";
student.stuNum = "1001";
student.show();
}
}
class Person{
String name;
String sex;
int age;
public void show() {
System.out.println("姓名:"+name+"\t性别:"+sex+"\t年龄:"+age);
}
}
class Student extends Person{
String stuNum;
public void show(){
System.out.println("姓名:"+name+"\n性别:"+sex+"\n年龄:"+age+"\n学号:"+stuNum);
}
}
运行结果: