网站首页 > 精选教程 正文
原文
4.6 对象构造
前面已经学习了如何编写简单的构造器来定义对象的初始状态。不过,由于对象构造非常重要,所以Java提供了多种编写构造器的机制。下面几节将详细介绍这些机制。
4.6.1 重载
有些类有多个构造器。例如,可以如下构造一个空的StringBuilder 对象:
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)
返回类型不是方法签名的一部分。也就是说,不能有两个名字相同,参数类型也相同却有不同返回类型的方法。
猜你喜欢
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 5.2.3相等测试与继承
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 5.2.4 hashCode方法
- 2024-11-28 Java入门书单
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 4.3.7 隐式参数与显式参数
- 2024-11-28 全网最完整的免费java教程讲义系列(四)——java的流程控制
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 3.10 数组
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 4.3 自定义类
- 2024-11-28 2019年Java核心技术我整理了200多页pdf,今天分享给你
- 2024-11-28 java 核心技术12版卷1 - 1.3 Java applet 与 Internet
- 2024-11-28 java 核心技术-12版 卷Ⅰ- 4.2 使用预定义类
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)