Java面向对象-9.重载和重写

来源:互联网 发布:淘宝店铺广告词 编辑:程序博客网 时间:2024/04/26 05:37

重载和重写
1、重写:通过类的继承关系,由于父类中的方法不能满足新的要求,因此需要在子类中修改从父类中继承的方法叫重写(覆盖)。
A.方法名、参数列表、返回值类型与父类的一模一样,但方法的实现不同。若方法名、参数列表相同,但返回值类型不同会有编译错误。若方法名、返回值类型相同,参数列表不同,则不叫重写。
B.子类若继承了抽象类或实现了接口,则必须重写全部的抽象方法。若没有全部实现抽象方法,则子类仍是一个抽象类。
C.子类重写抽象类中的抽象方法时或接口的方法时,访问权限修饰符一定要大于或等于被重写的抽象方法的访问权限修饰符。
D.静态方法只能重写静态方法。

2、重载:方法名一样,参数列表不同的方法构成重载的方法(多态的一种形式)。
A.调用方法:根据参数列表和方法名调用不同方法。
B.与返回值类型无关。
C.重载遵循所谓“编译期绑定”,即在编译时根据参数变量的类型判断应调用哪个方法。
eg:重载

int[] ary1 = {'A','B','C'};char[] ary2 = {'A','B','C'};System.out.println(ary1);//println(Object) //按对象调用,结果为地址值,没有println(int[])System.out.println(ary1);//println(char[])ABC System.out.println('中');//println(char)中System.out.println((int)'中');//println(int) 20013
0 0
原创粉丝点击