A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© MilesMatheson 中级黑马   /  2015-9-11 15:35  /  345 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请问sum,sum1,sum2的add分别调用哪个add?这算是函数的重载吧?


  1. package Temp;

  2. public class overloadDemo {

  3.         /**
  4.          * @param args
  5.          */
  6.         public static void main(String[] args) {
  7.                 int sum = 0;
  8.                 int sum1 = 0;
  9.                 int sum2 = 0;
  10.                
  11.                 sum = add(300,900);
  12.                 sum1 = add(3,7);
  13.                 sum2 = add(3,177);

  14.                 System.out.println("sum:"+sum);
  15.                 System.out.println("sum1:"+sum1);
  16.                 System.out.println("sum2:"+sum2);
  17.                
  18.         }
  19.         public static int add(byte a, byte b)
  20.         {
  21.                 return (a+b);
  22.         }
  23.         public static int add(int a , int b)
  24.         {
  25.                 return a+b;
  26.         }
  27.        
  28.         public static int add(int a ,short b)
  29.         {
  30.                 return a+b;
  31.         }

  32. }
复制代码

3 个回复

倒序浏览
当然算是重载
这三个全部调用的是第二个int类型的add
因为在计算机中 300,900    3,7,   3,177  如果没有标注类型的话  全部默认的int类型   
回复 使用道具 举报
嗯,楼上说的不错。
回复 使用道具 举报
坚持 学习
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马