Java对象构造--重载

重载

有些类有多个构造器。例如,可以如下构造一个空的StringBuilder对象:

var messages = new StringBuilder();

 或者,可以指定一个初始字符串:

var todoList = new StringBuilder("To do:\n");

这种功能叫做重载(overloading)。如果多个方法(比如,StringBuilder构造器方法)有相同的名字、不同的参数,便出现了重载。编译器必须挑选出具体调用哪个方法。它用各个方法首部中的参数类型与特定方法调用中所使用的值类型进行匹配,来选出正确的方法。如果编译器找不到匹配的参数,就会产生编译时错误,因为根本不存在匹配,或者没有一个比其他的更好(这个查找 匹配的过程被称为重载解析(overloading resolution))。

注:Java允许重载任何方法,而不只是构造器方法。因此,要完整的描述一个方法,需要指定方法名以及参数类型。这叫作方法的签名(signature)。例如,String类有4个名为 indexOf 的公共方法。它们的签名是

indexOf(int)
indexOf(int,int)
indexOf(String)
indexOf(String,int)

返回类型不是方法签名的一部分。也就是说,不能有两个名字相同、参数类型也相同却有不同返回类型的方法

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值