首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【答疑解惑】Java中的方法重载

【答疑解惑】Java中的方法重载

作者头像
程序员互动联盟
发布2018-03-14 11:33:14
8690
发布2018-03-14 11:33:14
举报

语音版:

我定义了一个类如下:

public class FirstJava {
    private int value;
    private int count;
    public void setValue(int value) {
        this.value = value;
    }

    public int setValue(int value) {
        this.value = value;
        return value;
    }
    
    public void setValue(int value, int count) {
        this.value = value;
        this.count = count;
    }
}

上面的代码定义了三个setValue方法,第一个与第二个区别是方法返回值不同,第三个是增加了一个参数。上面的代码大家检查一下能不能编译过,答案先不说,先来说一下Java中方法重载是怎么回事。方法重载的规则是方法名字相同,参数列表不同。

参数列表不同分为下面三种情况:

  • 参数个数不同:这个很容易理解,方法参数可以使一个也可以是两个等等;
  • 参数顺序不同:参数个数相同,包含有不同的数据类型,但是参数的顺序不一样,这种情况应该是避免出现的,因为这样的代码比较丑陋,难以维护;
  • 参数类型不同:参数个数相同,但是参数的数据类型不同;

清楚了重载的规则大家应该不难判断出来上面的代码是有问题的,因为规则中没有通过方法的返回值来区分方法重载的,所以第二个setValue不能那样写。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-08-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员互动联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档