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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

当构造方法调用的时候对象存在吗?要是不存在怎么调用的构造方法呢?求解释

评分

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

查看全部评分

10 个回复

倒序浏览
构造方法不需要调用吧,你创建对象的时候就会去找相应的构造方法来初始化这个对象。

评分

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

查看全部评分

回复 使用道具 举报
构造方法不需要调用, 在你创建对象的传入参数的时候就会对初始化构造方法!换个角度来想对象会跑在构造方法前面!

评分

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

查看全部评分

回复 使用道具 举报
构造方法不需要对象来调用,对象是通过new  classname();来创建的,classname代表你要创建对象的类名。方法和属性是通过对象来调用的,其中,静态方法和静态属性也可以通过类名来调用。

评分

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

查看全部评分

回复 使用道具 举报
默认就存在构造方法,系统自动加载!

评分

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

查看全部评分

回复 使用道具 举报
构造方法,顾名思义,就是在你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);

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

不知道你明白点了没有

评分

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

查看全部评分

回复 使用道具 举报
对象必须是存在的,本身构造函数就是给对象初始化用的,一旦对象产生这个相对应的构造函数就给对象初始化了。
回复 使用道具 举报
王杰 黑马帝 2012-3-8 23:33:38
8#
构造方法是特殊的方法。不同于一般的方法要去调用,
他的功能就是构造一个对象,就是为创建对象做的准备。
关于构造方法,我们不能将它与一般的方法混淆。
他们不仅形式不一样,连本质也是有区别的。

评分

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

查看全部评分

回复 使用道具 举报
当一个类中没有定义构造方法时,那么系统就会默认给该类加入一个空参数的构造方法,方法是先于对象而存在的
回复 使用道具 举报
构造方法并非不调用,只是不是咱们显示的调用而已。创建对象的大致过程是:首先,jvm加载相应的class对象。然后jvm根据给出的参数,创建对象。如果没有参数给出,就调用无参构造函数。
回复 使用道具 举报
如果你明白为什么构造方法名要与类名一直,你就了解这个问题了{:soso_e121:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马