java中的方法重载( Overload )
java中的方法重载( Overload )
牧羊人Berg 发表于2年前
java中的方法重载( Overload )
  • 发表于 2年前
  • 阅读 61
  • 收藏 0
  • 点赞 1
  • 评论 0

【腾讯云】如何购买服务器最划算?>>>   

摘要: Overload
  1. 首先,java中存在两种意义的多态, 重载(Overload)和重写(Override),重写是与继承有关的多态。

  2. 第一种:操作名称的多态,即有多个操作具有相同的名字,但这些操作锁接受的消息类型必须不同。

    第二种:和继承有关的多态,指同一个操作被不同而类型对象调用时可能产生不同的行为。

    这里将简单的介绍第一种多态,简单的认识下java中方法的重载:

  3. 那什么是重载? 即一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同:

    1)  参数个个数不同。

    2)  参数个数相同,但参数列表中对应的某个参数的类型不同。

    另外还需要注意的是:方法的返回类型和参数的名字不参与比较,也就是说如果两个方法的名字相同,即使返回类型不同,也必须保证参数不同。

     

     

  4. public class People {
        public int hello(int x, int y){
            return x+y;
        }
        public float hello(float x, int y){
            return x+y;
        }
        public double hello(double x, int y){
            return x+y;
        }
    
    }
    
    
    public class TestPeople {
        /**
        * @author 牧羊的伯格女皇
        * @param args
        * @date 2015-10-13
        */
        public static void main(String[] args) {
            People p = new People();
            System.out.println(p.hello(10, 10));  //20
            System.out.println(p.hello(12.12f, 7)); //19.119999
            System.out.println(p.hello(12.03, 7));  //19.03
        }
    }

   

      5. 在写方法的重载的时候,还需要避免重载出现歧义,即不清楚应当执行重载方法中的哪一个,让程序无法通过编译。

void cry(double x, int y){
    ....  
}
void cry(int x,double y){
    ...  
} 

p.cry(10,10);   //会出现提示信息 :对cry的引用不明确。

 

 

共有 人打赏支持
粉丝 24
博文 96
码字总数 87512
×
牧羊人Berg
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: