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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© quick3g 中级黑马   /  2014-12-13 22:59  /  2095 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//定义一个类
class A{
       //构造函数A()
       public A(){}
}
//new一个对象
A a=new A();//调用构造函数A(),为何构造函数里没有返回A的对象?

评分

参与人数 1黑马币 +3 收起 理由
彭旭文 + 3 鼓励提出这种被我们忽略的问题....

查看全部评分

13 个回复

倒序浏览
我是这样理解的,不知道对不对,构造类只是初始化用的,不需要返回值,你new的时候就是在堆内存中产生了一个对象了。
回复 使用道具 举报
我也曾经留意过这个问题...构造函数是一种特殊的函数!
回复 使用道具 举报
构造函数是用于初始化对象的
回复 使用道具 举报
在创建对象的时候,会根据参数列表选择不同的构造函数进行初始化。和构造代码块一起,都是咋创建对象时进行初始化!
回复 使用道具 举报
构造函数是用来进行初始化操作的,初始化操作是按照参数列表进行的,你可以重写构造函数,写成是带参的也可以Public(int a){},无参构造函数是默认的,你不写也是存在的
回复 使用道具 举报
构造函数是不能返回数据的,即使返回void也不行,你可以改成public void A(){}试一下,结果就是构造函数内的代码没有被执行
回复 使用道具 举报
构造函数是用来构造函数用的,你new了对象,对象就在堆内存中存在。
回复 使用道具 举报
I空空 中级黑马 2014-12-16 22:42:03
9#
这是一个空的构造函数
回复 使用道具 举报
个人认为构造函数定义了初始化一个类的对象的格式。
回复 使用道具 举报
构造函数是没有返回值类型的
回复 使用道具 举报
as604049322 发表于 2014-12-16 18:52
构造函数是不能返回数据的,即使返回void也不行,你可以改成public void A(){}试一下,结果就是构造函数内 ...

这样了写不是构造函数,而是一个普通的函数,需要用对象.A();方法调用,而不是new A();调用;
回复 使用道具 举报
本帖最后由 赵越海 于 2016-7-8 17:41 编辑

         .
回复 使用道具 举报
本帖最后由 赵越海 于 2016-7-8 17:41 编辑

         .
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马