Java知识点--方法重载与方法重写

方法重载

1.基本介绍

java 中允许同一个类中,多个同名方法的存在,但要求形参列表不一致! 方法名:必须相同。 形参列表:必须不同(参数类型或个数和顺序,至少有一个不同,参数名无要求)。 返回类型:无要求。

2.举例说明

方法:calculate(int n1, int n2) calculate(int n1, double n2)构成重载,参数类型不同 calculate(double n2, int n1)构成重载,顺序不同 calculate(int n1, int n2,int n3)构成重载,个数不同 calculate(int n2, int n1)不构成重载,参数名无要求

3.练习题

与void show(int a, char b, double c){}构成重载的是(B,C,D,E) A.void show(int x, char y, double z){} B.int show(int a, double c, char b){} C.void show(int a, double c, char b){} D.boolean show(int c, char b){} E.void show(double c){} F.double show(int x, char y, double z){} G.void shows(){}

4.好处

1.减轻了起名的麻烦 2.减轻了记名的麻烦

方法重写

1.基本介绍

简单说:方法重写就是子类有一个方法,和父类的某个方法的名称,返回类型,参数一样,我们就说子类的这个方法重写了父类的方法。(本说法不严谨,只是一种情况)

2.使用细节

方法重写必须满足以下条件: (1)子类方法的形参列表,方法名,必须与父类方法形参列表,方法名完全相同。 (2)子类方法的返回类型与父类方法的返回类型相同,或者是父类方法返回类型的子类。 例如父类方法:public Object getInfo(){},子类方法可以是:public Object getInfo(){},也可以是:public String getInfo(){}。 (3)子类方法不可以缩小父类方法的访问权限。 例如父类方法:void sayOk(){},子类方法可以是void sayOk(){},也可以是public sayOk(){},但不可以是private sayOK(){}

方法重载与方法重写的不同

名称 发生范围 方法名 形参列表 返回类型 访问修饰符 方法重载 本类 相同 必须不同(参数类型或个数和顺序,至少有一个不同,参数名无要求) 无要求 无要求 方法重写 父子类 相同 相同 子类方法的返回类型与父类方法的返回类型相同,或者是父类方法返回类型的子类 子类方法不可以缩小父类方法的访问权限
经验分享 程序员 微信小程序 职场和发展