网站首页 > java教程 正文
原文
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-01 Java | 深入理解方法调用的本质(含重载与重写区别)
- 2024-11-01 Java中的方法重载和方法重写的区别
- 2024-11-01 经典回答:《重载和重写的区别》Java面试冲击月薪40K高薪
- 2024-11-01 Java语言基础图解-第二阶段(继承-重载-重写-多态-抽象-接口)
- 2024-11-01 阿瑟Java (17):重载、重写有区别吗?
- 2024-11-01 Java基础——构造器重载 & this关键字
- 2024-11-01 「Java面试题」常规Java面试题分享
- 2024-11-01 Java每日一题之重载和重写有什么区别?
- 2024-11-01 Java里方法重写override与方法重载overload有什么区别?
- 2024-11-01 0基础Java学习 之 构造方法、方法的重载
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)