1735485012 发表于 2013-10-2 10:51:41

关于函数重载问题

java中函数重载幼三点要求
1.形参个数不一样
2.数据类型不一样
3.个数和数据类型都一样,但是顺序不一样
前两点都明白,但是第三点不明白,数据类型一样,顺序不一样是不是指下边这样,可是不对呀
class F {
    static int add(int a,int b){
            return a+b;        
    }
    static int add(int b,int a){
            return a+b;        
    }
   
}
publicclass D{
        public static void main(String args[]){
          System.out.println("这几个数的和是"+F.add(1,2));
          System.out.println("这几个数的和是"+F.add(1,2));
        }
       
}



回忆あ殇痛 发表于 2013-10-2 21:46:38

重载的条件是:
1.必须是同一个类
2.方法名(也可以叫函数)一样
3.参数类型不一样或参数数量不一样

1735485012 发表于 2013-10-6 11:19:08

回忆あ殇痛 发表于 2013-10-2 21:46 static/image/common/back.gif
重载的条件是:
1.必须是同一个类
2.方法名(也可以叫函数)一样


明白了,多谢多谢

ylfeiu 发表于 2013-10-7 12:38:56

static int add(int a,int b){
            return a+b;         
    }
    static int add(int b,int a){
            return a+b;         
    }:titter:{:5_91:}还是同一个顺序

沧海.sea 发表于 2014-9-30 09:11:50

class F {
    static int add(String a,int b){
            return a+b;         
    }
    static int add(int b,String a){
            return a+b;         
    }
   
}
publicclass D{
      public static void main(String args[]){
          System.out.println("这几个数的和是"+F.add(1,2));
          System.out.println("这几个数的和是"+F.add(1,2));
      }
      
}
这样就对了

l万lin 发表于 2015-1-19 17:49:23

不用纠结太多,java重载就是:
前提条件 方法名要一样,和返回值没关系
一,参数个数不一样
二,如果参数个数一样,但是参数类型不能完全一样

你那所谓的第三条的意思无非就是参数个数一样,参数类型不一样而已,不用太纠结!!!!!!

Samples、懂么 发表于 2015-1-20 09:09:37

顺序不一样是在数据类型可以辨别的前提下,比如你上面的int a, int b,换成int b, int a,没啥 区别,在编辑器看来,如果是int a, string b ,换成string b , int a 的话,就可以

hacker.jin 发表于 2015-1-20 10:50:30

回忆あ殇痛 发表于 2013-10-2 21:46
重载的条件是:
1.必须是同一个类
2.方法名(也可以叫函数)一样


返回值是不是必须一样啊
页: [1]
查看完整版本: 关于函数重载问题