TestRewrite
重写
1方法的重写
//Father类: public class Father { public void show() { System.out.println("showFather...."); } } //Son类: public class Son extends Father{ public void show() { super.show();//这里可以调用父类的show()方法 System.out.println("showSon...."); } } //main: public static void main(String[] args){ Son son = new Son(); son.show(); /* 这里会输出: showFather.... showSon.... */ }
-
方法的重写:指的是在继承关系中,子类可以重写父类定义的方法,以达到实现自己的读写的功能
-
当子类重写父类的方法被调用时,无论引用的是父类类型还是子类类型,都会执行执行子类重写的方法
-
super.show(); 可以使用父类的show()方法
2.重写与重载的区别:
-
重载发生在编译期
-
方法名相同,参数列表不同
-
根据方法的签名选择调用不同的方法
-
-
重写发生的运行区
-
方法的定义完全一致,但是必须存在继承关系
-
根据引用指向的的对象类型,判断调用哪个方法
-