码迷,mamicode.com
首页 > 其他好文 > 详细

方法重载( Overload )

时间:2015-10-14 09:11:25      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

  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的引用不明确。

 

 

方法重载( Overload )

标签:

原文地址:http://my.oschina.net/u/2405367/blog/516849

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!