JAVA中的重写(覆写):
概念:
子类定义了与父类方法 名称,参数列表,返回值完全相同的方法.
范围:
1.发生在子类和父类之间的
2.被覆写的方法,方法名,参数列表,参数个数都相同
3.jdk1.5以后,返回值类型可以与父类相同,也可以与父类不同,但是要求返回值类型是父类的子类。如: 父类的返回值类型是Object类,子类的返回值可以是Object类的子类比如String [1]
4.子类抛出的异常不能多于父类的方法抛出的异常(里氏代换原则)
5.父类的访问权限要大于子类的访问权限.
判断调用的是子类还是父类的方法
a.看new在哪里(当前使用的对象时通过哪个类new的)
class A { public void fun() { System.out.println("你好嘛"); } } class B extends A { public void fun() { System.out.println("我很好"); } } public class Test2 { public static void main(String[] args) { A a =new A(); a.fun(); } }
b. 调用的方法有没有被覆写,如果被覆写,调用的一定是被覆写后的方法。