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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© linda2906881980 中级黑马   /  2015-5-10 20:43  /  1210 人查看  /  21 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

构造方法和创建对象的问题,想问下是先有构造方法还是先有创建的对象?

21 个回复

倒序浏览
你这个问题就很无语,创建对象要构造函数,没有对象难道就没有构造函数了吗,当然不是。你把构造函数写到那里,想要创建对象的时候就用构造函数,不要对象就不用构造函数了嘛
回复 使用道具 举报
肯定是先有构造啊。。。。。。
回复 使用道具 举报
肯定是先有构造啊。。。
回复 使用道具 举报
构造函数就是用来创建本类对象的。先有构造方法后有对象。
回复 使用道具 举报
啊哈  和我最开始学的时候一样。我也不知道。问题的答案那 就是:在创建对象的时候,需要调用构造方法来创建对象。例如 Test2 test = new Test2();
你new了一个对象 是给这个对象在内存开辟一个空间来放这个对象 开辟了空间以后哪,在该实体空间中进行属性的空间分配,并进行了默认初始化,接下来对空间中的属性进行显示初始化,完了进行实体的构造代码块初始化。最后这才调用该实体对应的构造函数,进行构造函数初始化。初始化完了后就把它给了test,test引用了这个对象。(以上有一部分参考了lingzhou1的专栏)。
回复 使用道具 举报
先有构造方法啊,如果没有构造方法怎么创建对象?
回复 使用道具 举报
sndlg 中级黑马 2015-5-11 13:37:38
8#
对象都是构造函数创建的。你看代码就知道
回复 使用道具 举报
同步啊,琳达~~~~~~~
回复 使用道具 举报
V_nan 中级黑马 2015-5-11 21:51:01
10#
构造函数貌似存在方法区,创建对象的时候去调用与之对应的构造函数
回复 使用道具 举报
ZSMAN 中级黑马 2015-5-11 21:53:47
11#
构造函数必须有啊~
回复 使用道具 举报
创建对象的时候才会去加载构造方法
回复 使用道具 举报
造方法就是与类同名的那个方法,它的作用是可以用来初始化 class Person //人类{ public Person(String n,int a) //构造方法  {  name = n; age = a; }  private string name;  private int age; } static void main(String[] args){ Person p = new Person("张三",14);//这就是作用 } new一个对象的时候要用到构造函数,例如Hello hello = new Hello();这时调用的是Hello的无参数构造方法;Hello hello = new Hello("hi");这个是调用Hello有参数构造方法,在JAVA中如果不写构造方法的话,会默认加上一个无参数的构造方法,但是如果已经有了一个有参数的构造方法,那么无参数的构造方法就不会默认被加上.如果Hello类中已经有了一个有参数的构造方法,这时再使用 Hello hello = new Hello();来创建对象的时候就会出错,这就是为什么书上要强调写了有参数的构造方法就最好加一个无参数的构造方法.
回复 使用道具 举报
构造方法就是和类同名的方法,特别之处就在于new的时候会被自动调用,一般在这里做初始化数据等操作
并不强制要求所有的类都要有构造方法,如果没有什么需要初始化的数据,完全可以不用构造方法

由于Java有内存的自动垃圾回收机制,所以一般不用像C++里的析构函数做清理工作,Java自动帮着搞定了
但是像打开的文件关闭这样的操作,最好还是在程序中明确的调用一下比较好
回复 使用道具 举报
构造函数啊,同意楼上意见。
回复 使用道具 举报
学习学习了!!!
回复 使用道具 举报
在创建对象的时候调用构造函数    比如 Student s = new Student();          new Student()  这一块就相当于调用空参构造方法
回复 使用道具 举报
zy18692243338 发表于 2015-5-11 21:48
同步啊,琳达~~~~~~~

哈哈哈   苦逼的小白
回复 使用道具 举报
先有构造函数呗
回复 使用道具 举报
对象是由构造函数创建的,肯定现有构造函数
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马