方法重载
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(){}
方法重载与方法重写的不同
名称 | 发生范围 | 方法名 | 形参列表 | 返回类型 | 访问修饰符 |
---|---|---|---|---|---|
方法重载 | 本类 | 相同 | 必须不同(参数类型或个数和顺序,至少有一个不同,参数名无要求) | 无要求 | 无要求 |
方法重写 | 父子类 | 相同 | 相同 | 子类方法的返回类型与父类方法的返回类型相同,或者是父类方法返回类型的子类 | 子类方法不可以缩小父类方法的访问权限 |
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/120189.html