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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄奇耀 中级黑马   /  2012-3-30 22:26  /  2809 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

构造方法可以有返回值吗?为什么?

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1 第一个技术贴,加分!

查看全部评分

13 个回复

倒序浏览
构造方法是不能有返回值的,它的作用仅仅是初始化类中的值。
回复 使用道具 举报
构造方法是不能有返回值的,void也不行,Java语法规定的。
构造方法有两种,一种带参数的构造方法,另一种不带参数构造方法,即空参数构造方法。
构造方法在类的实例被初始化的时候调用
回复 使用道具 举报
在Java中,任何变量在被使用前都必须先设置初值.Java提供了为类的成员变量赋初值的专门功能:构造方法是一种特殊的成员方法,它的特殊性反映在如下几个方面:   
1.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。
2.构造方法的调用是在创建一个对象时使用new操作进行的。构造方法的作用是初始化对象。
3.每个类可以有零个或多个构造方法.
4.不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承。
5.构造方法在创建对象时自动执行,一般不能显式地直接调用.
回复 使用道具 举报
第一个回答技术贴总该有分吧,嘿嘿{:soso__18178828760137886864_2:}
回复 使用道具 举报
构造函数是没有返回值的,它的出现主要是为了创建非静态类对象的
回复 使用道具 举报
胡川 中级黑马 2012-3-30 23:30:10
7#
构造方法不允许有返回值。如果有返回值。那就成为了普通的方法。在构造的时候会使用JDK提供的隐式构造方法。你写的前四种构造方法通过不同的参数表而形成了重载。实际上我觉得重载的意义并不是非常大。可能是我接触的较少。觉得重写的意义要比重载的意义大的多。而你下边方法名重复的方法。就是一种典型的重写。但是一般重写是不会出现在同一个类里的。一般都是具象类实现抽象类。或者根据需求子类重新定义父类同名方法的一种形式。
回复 使用道具 举报
构造方法是没有返回值的,注意不是void,它代表有返回类型的。构造方法是对应的对象进行初始化的。
回复 使用道具 举报
陈苓 中级黑马 2012-3-31 01:22:00
9#
      不能有返回值,构造函数最大的作用就是完成对象的初始化工作,列如:String str = new String();  此语句中String()是String类的构造方法,但是对象却不是有构造方法创建的,而是由new关键字创建的,new关键字有两个工作,一个是根据String类的定义,在堆内存中其分配内存即创建对象,完成对象的创建工作后则需要为对象进行初始化,因此在位此类创建对象时将根据new关键字后的构造方法的参数自动调用该类的不同形式的构造方法,字符串类型的变量str获取的对象的引用时由new关键字返回的,而不是构造函数返回的。
回复 使用道具 举报
记住构造方法仅仅是给成员变量初始化,也就是给成员变量一个初值,不需要返回值。
回复 使用道具 举报
本人愚见:构造方法有返回值,返回的就是new出来的对象本身,对象就是通过构造方法new出来的,如果构造方法没有返回值,那程序怎么能得到new出来的对象呢?
如果将构造方法定义为private,那么这在个类外部是无法new出这个对象的,每个类都是通过其构造方法来返回这个类的对象的,可见构造方法是有返回值的。
回复 使用道具 举报
本帖最后由 黄方 于 2012-3-31 23:36 编辑

请弄清楚构造函数和方法的区别:构造函数无返回值,它的作用仅仅是初始化类中的值;一个类的构造方法的返回值应该是该类本身,方法有返回值,进行的是运算,就算无返回值也要打上void~~~~~~
回复 使用道具 举报
袁野 黑马帝 2012-4-1 07:42:43
13#
我的理解
构造方法不是 方法
因为 没有返回值,方法名 只能和类名相同,只能说他特殊,而不能说他是一个方法
回复 使用道具 举报
对我上面错误回答的更正:
构造方法是一种特殊类型的方法,没有返回值。
这与返回值为空(void)不同。
对于空返回值,尽管方法本身不会自动返回什么,但任然可选择让它返回别的什么东西。
构造方法则不会返回任何东西,你别无选择(new表达式确实返回了对新建对象的引用,
但构造方法本身并没有任何返回值)。

假如构造方法具有返回值,并且允许人们自行选择返回类型,那么势必得让编译器知道该如何处理此返回值。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马