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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 唐进 中级黑马   /  2012-10-25 22:44  /  1666 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

   public int method1(int a, long b) { return 0; }
   

    private int method1(int a, int b) { return 0; }
   
    publicstaticvoid main(String[] args) {
       // TODO Auto-generated method stub

    }
}
为什么会出现错误,越详细越好

评分

参与人数 1技术分 +1 收起 理由
谭立文 + 1

查看全部评分

5 个回复

倒序浏览
哥们,出现什么错误?static里面只能调用static方法??改成这个public static  int method1(int a, long b) { return 0; }???
回复 使用道具 举报
因为long和int 型的参数有交集吧 有的区分不开吧

评分

参与人数 1技术分 +1 收起 理由
谭立文 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 葛旭东 于 2012-10-25 23:38 编辑

了解基本数据类型。

int 是32位,long 是64位;即long的范围比int广,如果写了一个数在int范围的话,

则不好判断是int型还是long型。所以两个方法不能共存!
回复 使用道具 举报
本帖最后由 吴愿涛 于 2012-10-25 23:45 编辑

因为你重载的方法是用private修饰符修饰的 ,私有的方法不能呗调用 ,故而无用 ,出现警告 。
方法重载时,private修饰的方法重写,语法不报错,可以通过编译, 但是调用时不会使用新写的方法。仍然调用父类的方法。

nowarning.png (8.55 KB, 下载次数: 17)

未出现的问题

未出现的问题

warning.png (8.9 KB, 下载次数: 34)

出现的问题

出现的问题
回复 使用道具 举报
两个函数中参数列表的int和long类型不好被判断,容易混淆。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马