方法重写的注意点
public class B { public static void test() { System.out.println("B==test"); } } public class A extends B{ public static void test() { System.out.println("A==test"); } } public class Test { public static void main(String[] args) { //静态方法的调用只和左边定义的数据类型有关 A a =new A(); a.test();//A==test B b =new A(); b.test(); //B==test } }
public class B { public void test() { System.out.println("B==test"); } } public class A extends B{ public void test() { System.out.println("A==test"); } } public class Test { public static void main(String[] args) { A a =new A(); a.test();//A==test B b =new A(); b.test(); //A==test } }
总结:
重写:需要有继承关系,子类重写父类的方法
1.方法名必须相同
2.参数列表必须相同
3.修饰符,范围可以扩大,但不能缩小,public >protected>Default>private
4.抛出的异常,范围可以缩小,但不能扩大
重写,子类的方法和父类一样,方法体不同
为什么需要重写?
1.父类的功能子类不一定需要,或者不一定满足