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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李红志 中级黑马   /  2013-3-5 20:53  /  1187 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我创建了两个方法,他们的特征如下
int total(int arg1,int arg2, int arg3)  {...}
float total (int arg1,int arg2, int arg3)  {...}
当我编译包含这些方法的类时,Java编译器报错,但他们的特征标并不同,哪里有问题

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1 鼓励一下

查看全部评分

6 个回复

倒序浏览
本帖最后由 张洪慊 于 2013-3-5 21:09 编辑

如果你想用重载的话.
①参数的类型和个数以及 参数类型顺序 不同
参数类型顺序例如:
int total(int a,double b)//int double
int total(double a,int b)//double int
与返回值类型无关
你相当于定义两个重名函数

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
可以听这样改
  1. public class Test
  2. {
  3.         public static void main(String[] args) {
  4.                
  5.         }
  6.         int total(int arg1,int arg2, int arg3)  {
  7.                 return 1;
  8.                 }
  9.         int total (int arg1,float arg2, int arg3)  {
  10.                 return 2;
  11.         }

  12. }
复制代码
重载跟 返回的方法的类型无关
回复 使用道具 举报
上面的哥们说的很对,重载只看函数名和参数列表,函数名相同,参数列表不同才叫重载,你现在是定义了两个同名同参数的函数
回复 使用道具 举报
上面说的很详细了
回复 使用道具 举报
附上图一张

SR4`JANN(KHB4Q(B[$4L@9M.jpg (56.37 KB, 下载次数: 7)

SR4`JANN(KHB4Q(B[$4L@9M.jpg
回复 使用道具 举报
你的两个函数函数名还有参数类型和个数完全一样, 这样不是重载,是重复  所以报错
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马