方法的重载

方法的重载减轻了起名的麻烦减轻了记名的麻烦方法名 必须相同形参列表 必须不同 形参类型或个数或顺序 至少有一样不同 参数名无要求 返回类型 无要求

大家好,欢迎来到IT知识分享网。

目录

方法的重载是什么? 

重载的好处:

方法重载的定义: 

注意事项:

判断题: 

编程题:


方法的重载是什么? 

方法的重载是指在一个类中定于多个不同名的方法 ,但要求每个方法具有不同的 参数 的类型或参数的个数。

调用重载方法时,Java编译器能通过检查调用的方法的参数类型和个数选择一个恰当的方法。

方法重载通常用于创建完成一组任务相似但参数的类型或参数个数或参数顺序不同的方法。

Java的重载 ,就是在类中可以创建多个方法,它们可以有相同的名字 , 但必须具有不同的参数,即或者是参数的个数不同,或者是参数的类型不同。

调用方法时,通过传递给它们的不同个数和类型的参数以及传入参数的顺序来决定具体使用哪个方法。

重载的好处:

减轻了起名的麻烦

减轻了记名的麻烦

方法重载的定义: 

如果有两个方法的方法名相同,但参数不一致,那么可以说一个方法是另一个方法的重载 。

注意事项:

方法名 : 必须相同

方法的修饰符可以不相同

main 方法也可以被重载

形参列表: 必须不同(形参类型或个数或顺序 ,至少有一样不同 ,参数名无要求)

返回类型: 无要求 

判断题: 

 与 void show(int a,char b ,double c){ 构成重载的有: 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 () { }

 解析:

A. 不构成,因为 形参列表中的形参类型或个数或顺序 ,没有一样是不同的 B. 构成,因为 形参类型不同 C. 构成,因为 形参列表中 顺序不同 D. 构成,因为 形参列表中的形参类型或个数或顺序 至少有一样是相同的 E. 构成,因为满足 形参列表中的形参类型或个数或顺序 至少有一样是相同的 F. 不构成,因为 形参列表中的形参类型或个数或顺序 ,没有一样是不同的 ,虽然返回值是double ,但与构成重载无关 G. 不构成,因为 方法名不同, 构成重载要求方法名必须相同

编程题:

1. 编写程序  , 类Methods 中定三个重载方法并调用。方法名为m 。三个方法分别接收一个参数、两个参数、一个字符串参数。分别执行平方运算并输出结果,相乘并输出结果,输出字符串信息。在主类的mian() 方法中分别用参数区别调用三个方法。

代码实现: 

public class OverLoadExercise { //在主类的main() 方法中分别用参数区别调用三个方法 public static void main(String[] args) { Methods methods = new Methods(); methods.m(10);//100 methods.m(10,20);//200 methods.m("hello,Java"); } } class Methods { //分析 //1. 方法名 m //2. 形参(int) //3. void public void m(int n) { System.out.println("平方=" + (n * n)); } public void m(int n1, int n2) { System.out.println("相乘=" + (n1 * n2)); } public void m(String str) { System.out.println("传入的Str=" + str); } }

结果:

方法的重载

2. 在Methods 类,定义是三个重载方法max() ,第一个方法,返回两个 int 值中的最大值,第二个方法,返回两个 double 值中的最大值,第三个方法,返回三个 double 值中的最大值,并分别调用三个方法。

 代码实现:

public class OverLoadExercise { public static void main(String[] args) { //在主类的main() 方法中分别用参数区别调用三个方法 Methods methods = new Methods(); System.out.println(methods.max(10, 24)); System.out.println(methods.max(10.0, 24.3)); System.out.println(methods.max(10.8,27.4, 36.0)); //30是一个整数 int 类型,但是下面是 double类型,所以最后输出是 30.0 } } class Methods { // 分析 //1. 方法名 max //2. 形参(int int) //3. int public int max(int n1, int n2) { //使用三元运算符 return n1 > n2 ? n1 : n2; } //1. 方法名 max //2. 形参(double double) //3. double public double max(double n1, double n2) { return n1 > n2 ? n1 : n2; } //1. 方法名 max //2. 形参(double, double, double) //3. double public double max(double n1, double n2, double n3) { System.out.println("max(double n1 , double n2 , double n3)"); //求出 n1 和 n2 的最大值 double max1 = n1 > n2 ? n1 : n2; return max1 > n3 ? max1 : n3; } public double max(double n1, double n2, int n3) { System.out.println("max(double n1 , double n2 , int n3)"); //求出 n1 和 n2 的最大值 double max1 = n1 > n2 ? n1 : n2; return max1 > n3 ? max1 : n3; } }

结果:

方法的重载

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/122989.html

(0)
上一篇 2025-10-12 15:15
下一篇 2025-10-12 15:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信