您的位置:首页 > 编程语言 > Java开发

方法重载详解

2016-06-21 23:22 429 查看
         什么是方法重载?

         我这有一个需求,写一个计算2个数和的方法,这是一个很简单的方法如下:

public int add(int a,int b){

return a+b;

}

         但是如果我的需要改变了,需要求3个数和的方法,这是你就要重新写一个方法,但是如果后面我的需求不断增加,这些方法名字你要不断的命名,最后会凌乱的,这里就可以用重载的特性来解决这类问题。

 

         publicint show(int a , int b){

                   return a+b;

         }

         public double show(double a ,double b){

                   return a+b;

         }

         public String show(String a ,String b){

                   return a+b;

         }

这段代码中定义了三个方法,但是3个方法的名字都一样的,却能通过编译,这就是方法的重载,个人理解是能帮某些特性功能的方法组合在一起,增加代码的可读。

重载需要满足什么条件?

1、方法名一致

2、参数列表不一样(如果上面这段代码参数类型不一样),

如果满足以上条件,你的方法就已经算是重载了,那么我们来练习下,看看下面这段代码

public void show(String a){

                   System.out.println("我是String");

         }

public void show(Object a){

                   System.out.println("我是Object");

         }

 

如果我调用方法传的是null了?show(null);会调用谁?报错?还是?这里会调用“我是Stirng”这是为什么?

分析:两种都是引用数据类型传递null理论上是都可以执行,但是jvm不知道执行谁,那么为什么却有执行了String了?因为String 继承了Object,jvm认为String比Object更加准确。

总结:

1、方法名必须相同

2、方法的参数必须不同(参数类型和个数)

3、如果参数个数不同,就不管参数类型

4、如果个数相同,就管参数类型

5、方法的返回类型和修饰符可以同

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java