java方法的重载!(java方法的重载和重写)

  本篇文章为你整理了java方法的重载!(java方法的重载和重写)的详细内容,包含有Java方法的重载 java方法的重载和重写 java方法的重载和重写的区别 java方法的重载和覆盖的区别 java方法的重载!,希望能帮助你了解 java方法的重载!。

  java方法的重载

  Java 允许同一个类中定义多个同名方法,只要它们的形参列表不同即可。如果同一个类中包含了两个或两个以上方法名相同的方法,但形参列表不同,这种情况被称为方法重载(overload)。

  方法重载的规则:

  方法名必须相同

  参数列表必须不同(参数列表的个数不同,或者类型不同,或者参数列表的排列顺序不同)

  方法的返回类型可以相同也可以不相同

  仅仅返回类型不同不足以够成方法的重载

  代码示例:(定义比大小的方法)

  

public class Demo02 {

 

   public static void main(String[] args) {

   int max=max(5,5,5);

   System.out.println(max);

   //定义一个比大小的方法,参数为(int a,int b)

   public static int max(int a,int b){

   int result = 0;

   if (a b){

   result=a;

   }else if (a==b){

   System.out.println("a和b是相等的");

   return 0;//终止方法

   }else {

   result=b;

   return result;

   //方法名相同,参数相同,但是参数类型不同

   public static int max(double a,double b){

   int result = 0;

   if (a b){

   result=(int)a;

   }else if (a==b){

   System.out.println("a和b是相等的");

   return 0;//终止方法

   }else {

   result=(int)b;

   return result;

   //可以看到方法名相同,但是参数却有三个

   public static int max(int a, int b,int c) {

   int result = 0;

   if (a =b a =c) {

   result = a;

   } else if (b =a b =c) {

   result=b;

   } else {

   result = c;

   return result;

  

 

  输出:我们执行三个参数的方法,看一下效果

  

5

 

  

 

  编译、运行上面程序完全正常,虽然 3 个 max() 方法的方法名相同,但因为它们的形参列表不同,所以系统可以正常区分出这 3 个方法。当运行时,Java 虚拟机会根据传递过来的不同参数来调用不同的方法。

  
上述说了靠返回值类型不足以区分方法的重载(了解)

  因为对于java而言,当方法名称相同的时候、,编译器会根据调用方法的参数个数,参数类型去进行逐个匹配。选择对应的方法,如果匹配失败,则编译器报错!

  有的时候我们不注意方法的返回值,想要的是方法调用的其他效果(这常被称为“为了副作用而调用”),这时可能会调用方法而忽略其返回值。

  以上就是java方法的重载!(java方法的重载和重写)的详细内容,想要了解更多 java方法的重载!的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: