Java方法重写
静态方法
package com.davis.oop.Demo2;
public class B {
public static void test(){
System.out.println("B=>test()");
}
}
package com.davis.oop.Demo2;
public class A extends B {
public static void test(){
System.out.println("A=>test()");
}
}
package com.davis.oop.Demo2;
public class Application {
public static void main(String[] args) {
A a=new A();
a.test();
B b=new A();
b.test();
}
}
A=>test()
B=>test()
非静态方法
package com.davis.oop.Demo2;
public class B {
public void test(){
System.out.println("B=>test()");
}
}
package com.davis.oop.Demo2;
public class A extends B {
public void test(){
System.out.println("A=>test()");
}
}
package com.davis.oop.Demo2;
public class Application {
public static void main(String[] args) {
A a=new A();
a.test();
B b=new A();
b.test();
}
}
A=>test()
A=>test()
重写
- 重写需要有继承关系,子类继承父类。
- 方法名必须相同,参数列表必须相同。
- 修饰符:范围可以扩大,但不能缩小。
- 抛出的异常:范围可以被缩小,但不能扩大。
为什么需要重写