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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王家俊 黑马帝   /  2011-9-29 20:33  /  1668 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在创建对象的过程中,是先创建对象还是先执行构造函数呢?

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1 入门鼓励!加油……

查看全部评分

5 个回复

正序浏览
黑马网友  发表于 2011-10-1 19:04:33
地板
1.构造函数默认是用来初始化成员变量的,也就是说给new出的实例中的成员变量一个默认值。

2.当new 出新空间后,如果有成员变量,自然是先用构造函数初始化再创建对象,相反,如果类中没有成员变量,应该只是单纯在方法区(whatever you call it)加载方法而已。
回复 使用道具 举报
黑马网友  发表于 2011-9-30 16:08:28
报纸

对象的创建

你问这话 说明你不知道对象的创建是通过构造函数,构造函数的作用是用于给对象初始化的。比如创建一个person对象,person pp = new person();其中person();就是构造函数,只是这是一个无参的!java都会默认给每个类分配一个无参的构造函数进而创建无参的对象!
而pp就是对象,那你说是先创建了对象 还是先执行了构造函数!对象一旦创建不就是就会调用与它相对应的构造函数!


好好学习下构造函数的作用 不然这个都不知道 你是没办法继续学习下去的!

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-29 21:56:14
板凳
你这句话问的我感觉有点问题,构造函数的作用是可以给对象初始化,而对象一建立就会调用与之相对应的构造函数。给你说一下,new了一个对象,他之后都要按顺序做些什么。不知道你的程序时怎么写的,这里有些步骤是用不到的可能,但是如果有就按着这个进行
1,你new了一个对象,那么首先用到了这个对象的类,所以第一步是加载这个类进内存
2,如果有静态代码块的话,会先执行它,没有酒拉倒。
3,堆内存建立对象特有属性,默认初始化。
4,显示初始化
5,构造代码块初始化
6对对象构造函数初始化,
我感觉你这句话应该问是先建立对象还是先构造函数初始化呢?我自己这么认为的,也可能写的不对

评分

参与人数 1技术分 +2 收起 理由
wangfayin + 2 回答的不错!

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-29 21:41:46
藤椅
在创建对象时,就会执行构造函数……
回复 使用道具 举报
黑马网友  发表于 2011-9-29 20:48:05
沙发
Java 在创建对象的时候会要执行它的构造函数。不仅如此,Java 还要执行父类的构造函数,往上一级一级直到没有父类为止。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马