专业的JAVA编程教程与资源

网站首页 > java教程 正文

java 核心技术-12版 卷Ⅰ- 4.6 对象构造 4.6.1重载

temp10 2024-11-01 13:42:52 java教程 14 ℃ 0 评论

原文

4.6 对象构造

前面已经学习了如何编写简单的构造器来定义对象的初始状态。不过,由于对象构造非常重要,所以Java提供了多种编写构造器的机制。下面几节将详细介绍这些机制。

4.6.1 重载

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

java 核心技术-12版 卷Ⅰ- 4.6 对象构造 4.6.1重载

var message = 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)

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

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表