重写:
重写需要有继承关系,子类重写父类的方法;
重写只跟方法有关系;
特点:
方法名必须相同,参数列表必须相同;
修饰符范围可以扩大,但不能缩小;public>protected>default>private;
抛出的异常:异常的范围可以被缩小,但不能扩大;
重写,子类的方法和父类必须要一致;方法体不同;
//方法的调用只和左边,定义的数据类型有关 A a=new A(); a.test();//Atest //继承关系中:父类的引用可以指向子类 B b=new A(); b.test();//Btest
代码main:
public class Application { public static void main(String[] args) { //方法的调用只和左边,定义的数据类型有关 A a=new A(); a.test();//Atest //继承关系中:父类的引用可以指向子类 B b=new A(); b.test();//Btest } }
子类:
public class A extends B{ //快捷键:alt+insert:重写父类方法 //Override 重写 @Override //注解:有功能的注释! public void test() { //默认调用父类的方法 System.out.println("Btest"); } }
父类:
public class B { public void test(){ System.out.println("Btest"); } }
思考:
为什么需要重写:父类的功能,子类不一定需要;或者不一定满足;