方法重写
1. 要求
-
需要有继承关系,在子类中重写父类中的方法,注意属性没有重写这一概念
-
方法名,参数列表必须相同
-
修饰符:范围可以扩大但不能缩小 (public>Protected>Default>private)
-
抛出的异常:范围可以被缩小但不能扩大
-
子类与父类的方法必须一致,方法体不同
2. 为什么要重写
- 父类的功能,子类不一定需要或者不一定满足
3. 快捷键:Alt+Insert Override
代码示例:
- 静态方法没有重写
package oop;
import oop.Demo04.A;
import oop.Demo04.B;
//静态方法没有重写这一概念
public class Application {
public static void main(String[] args) {
A a = new A();
B b = new A();
//A c = new B(); 会报错
a.test(); //A==>test
b.test(); //B==>test
}
}
package oop.Demo04;
public class A extends B{
public static void test(){
System.out.println("A==>test");
}
}
package oop.Demo04;
public class B {
public static void test(){
System.out.println("B==>test");
}
}
- 重写示例
package oop;
import oop.Demo04.A;
import oop.Demo04.B;
//方法的重写
public class Application {
public static void main(String[] args) {
A a = new A();
B b = new A();
//A c = new B(); 会报错
a.test(); //A==>test
b.test(); //A==>test
}
}
package oop.Demo04;
public class A extends B{
public void test(){
System.out.println("A==>test");
}
}
package oop.Demo04;
public class B {
public void test(){
System.out.println("B==>test");
}
}