第17节:Java三大特性-继承之重写 【多测师_王sir】
1、重载:overload,重写:Override。
2、重写是指只重写方法,跟属性无关。
3、重写:子类重写父类方法。子类方法名、参数一定一样。
4、子类返回值类型一定大于或等于父类返回值类型。
5、引用数据类型,作为参数的时候传递的是内存地址;基本数据类型,作为参数的时候传递的是参数的值。
6、子类会转换父类同有的属性。
7、instanceof:用于对比同一种属性。
8、方法重写的规则:
① 声明为 static的方法不能被重写,但是能够被再次声明。
② 声明为 final 的方法不能被重写。
③ 不能被继承的类方法,不可以重写。
④参数列表必须完全与被重写方法的相同。
⑤返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的子类。
⑥子类可以重写父类除了声明为 private 和 final 的所有方法
⑦重写的方法不能抛出新的强制性异常,或者比被重写方法声明的更广泛的强制性异常。
⑧构造方法不能被重写。
⑨如果不能继承一个方法,则不能重写这个方法。
9、重写和重载的区别
①参数列表:重载 必须修改,重写一定不能修改;
②返回类型:重载可以修改,重写 一定不能修改;
③异常:重载可以修改,重写 可以减少或删除,一定不能有更广的异常。
④访问:重载可以修改, 重写一定不能做更严格的限制(可以降低限制)。
10、方法重载的定义:一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同而类型和次序不同,则称为方法的重载
11、方法重写的定义:子类存在方法与父类的方法的名字相同,而且参数的个数与类型一样,返回值也一样的方法。
12、方法重载是一个类的多种方法表现,而方法重写是子类与父类的一种多种方法表现。