A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 潘多拉 中级黑马   /  2014-8-20 22:18  /  998 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

构造函数与函数重载有什么关系吗?

7 个回复

倒序浏览
这两个应该没有什么关系吧,构造函数是在创建给定类型的对象时执行的类方法。构造函数具有与类相同的名称,它通常初始化新对象的数据成员。函数重载是为了方便常用来实现功能类似而所处理的数据类型不同的问题。两者之间没有直接的联系吧,,,,
回复 使用道具 举报
我认为构造函数是函数重载的一个体现。我们知道,方法声明相同,参数列表不同的函数之间互称为函数重载。而对于一个具有多个构造函数的类来说,它的这些构造函数之间显然是方法(函数)重载的体现。
回复 使用道具 举报
没有关系,构造函数是负责创建对象的,负责初始化实例变量;而函数重载是相同功能的不同实现
回复 使用道具 举报
嘛…… 两个其实从某种意义上来说是不同的概念……

【构造函数】
构造函数如楼上的同学所说,首先它是一个函数,其次它负责给实例对象初始化;

【函数重载】
函数重载是只函数的一种存在形式,即有两个名称相同的函数,且返回值类型相同,但两个函数内部的功能稍有区别,这时候可以通过不同的参数列表加以区分,这时这两个同名函数都能存在于同一个类中。
这就是函数的重载形式;

【构造函数的重载】
虚拟机会自动给每个对象设立一个空参数的构造函数,它的存在是隐性的,也就是你看不到的。但有时候,根据具体需求,可以对这个构造函数进行重载,也就是定义一个名字与类名相同的函数,然后在参数列表里定义需要接收的参数。
这个时候你就定义了一个自己的构造函数,它以重载的形式存在于类中,并代替原有的空参数构造函数给对象进行初始化;


PS:如果想看简单点的解释,看蓝色字体部分就行~

小弟愚见,欢迎拍砖:)
回复 使用道具 举报
楼上讲的很全面啊,,,:)
回复 使用道具 举报
Baiye 中级黑马 2014-8-21 10:36:14
7#
构造函数可以被重载
回复 使用道具 举报
lhtwm1 中级黑马 2014-8-21 12:15:07
8#
这是面向对象里的题吗?我刚看到面向对象
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马