黑马程序员技术交流社区

标题: 当构造方法调用的时候对象存在吗?要是不存在怎么调用的构造方法呢?求解释 [打印本页]

作者: 石德志    时间: 2012-3-8 17:25
标题: 当构造方法调用的时候对象存在吗?要是不存在怎么调用的构造方法呢?求解释
当构造方法调用的时候对象存在吗?要是不存在怎么调用的构造方法呢?求解释
作者: 杨毅    时间: 2012-3-8 20:20
构造方法不需要调用吧,你创建对象的时候就会去找相应的构造方法来初始化这个对象。
作者: 程洪    时间: 2012-3-8 20:34
构造方法不需要调用, 在你创建对象的传入参数的时候就会对初始化构造方法!换个角度来想对象会跑在构造方法前面!
作者: 刘旭    时间: 2012-3-8 20:55
构造方法不需要对象来调用,对象是通过new  classname();来创建的,classname代表你要创建对象的类名。方法和属性是通过对象来调用的,其中,静态方法和静态属性也可以通过类名来调用。
作者: 黑马肖凯骏    时间: 2012-3-8 21:03
默认就存在构造方法,系统自动加载!
作者: Destiny    时间: 2012-3-8 21:06
构造方法,顾名思义,就是在你new一个对象的时候就被调用的。当没有定义构造方法时每个类里都有一个默认的无参的构造方法,此时该类就只有一个构造方法;而当你显示定义类的构造方法时,那就没有那个默认的构造方法了,该类所以的构造方法就是定义了的那些构造方法;例如:定义一个Student类:
class Student1{
//不定义构造方法,此时默认的构造方法是Student1();new
//一个对象时只能这样构造,Student1 s=new Studnet1();

另外再写一个有定义构造方法的类:
class Student2{
Student(String name);
Student(String name,int age);
}
Student2有两个构造方法,默认的构造方法就没有了
创建Student2对象时只能用两个构造方法

Student2 s2=new Student2("xiaoming");
Student2 s2=new Student2("xiaoqiang",12);

还可以提供更多的构造方法,参数可以任意个,构造对象的时,就根据你定义的构造方法来构造,但是不需要调用

不知道你明白点了没有
作者: 泮和顺    时间: 2012-3-8 23:23
对象必须是存在的,本身构造函数就是给对象初始化用的,一旦对象产生这个相对应的构造函数就给对象初始化了。
作者: 王杰    时间: 2012-3-8 23:33
构造方法是特殊的方法。不同于一般的方法要去调用,
他的功能就是构造一个对象,就是为创建对象做的准备。
关于构造方法,我们不能将它与一般的方法混淆。
他们不仅形式不一样,连本质也是有区别的。
作者: 王利强    时间: 2012-3-8 23:52
当一个类中没有定义构造方法时,那么系统就会默认给该类加入一个空参数的构造方法,方法是先于对象而存在的
作者: silence    时间: 2012-3-8 23:57
构造方法并非不调用,只是不是咱们显示的调用而已。创建对象的大致过程是:首先,jvm加载相应的class对象。然后jvm根据给出的参数,创建对象。如果没有参数给出,就调用无参构造函数。
作者: 戚雪晖    时间: 2012-3-9 08:03
如果你明白为什么构造方法名要与类名一直,你就了解这个问题了{:soso_e121:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2