1、它们的执行时间不同:
构造函数是在创建对象的过程中执行。当对象创建完成了,构造函数就已经执行结束。
一般函数执行时间有两种情况:1) 如果调用其他类中的函数时:一般函数通过是在对象创建完成之后,通过对象的引用来调用。
2) 如果调用本类中的函数时:什么时候使用,什么时候调用。
2、它们的调用次数不同:
构造函数只有在new对象的时候,会被调用,一旦对象创建完成,我们不能手动的人为去调用构造函数。
一般函数可以通过对象随意的调用,没有次数限制。
3、它们互相调用问题:
在构造函数中可以去调用一般的函数,但是在一般的函数中不能调用构造函数。
在创建对象的过程中构造函数的执行时机:
1、通过new 关键字创建对象,首先会在堆中分配对象的内存空间
2、给对象所属的类中的所有成员变量进行默认的初始化动作。
3、开始调用和new对象时传递的参数一致的构造函数。
4、调用了构造函数之后,开始执行构造函数中的所有代码。(注:哪个对象调用,就把传递到构造函数里的值赋值给堆内存中的变量中)
5、当把构造函数中的所有代码全部执行完成,这时构造函数出栈,才表示当前这个对象创建完成。
6、把对象的内存地址赋值给对应的引用变量。