构造函数和一般函数异同

1、它们的执行时间不同:

  构造函数是在创建对象的过程中执行。当对象创建完成了,构造函数就已经执行结束。

  一般函数执行时间有两种情况:1) 如果调用其他类中的函数时:一般函数通过是在对象创建完成之后,通过对象的引用来调用。

                2) 如果调用本类中的函数时:什么时候使用,什么时候调用。

2、它们的调用次数不同:

  构造函数只有在new对象的时候,会被调用,一旦对象创建完成,我们不能手动的人为去调用构造函数。

  一般函数可以通过对象随意的调用,没有次数限制。

 3、它们互相调用问题:

  在构造函数中可以去调用一般的函数,但是在一般的函数中不能调用构造函数。

 

在创建对象的过程中构造函数的执行时机:

  1、通过new 关键字创建对象,首先会在堆中分配对象的内存空间

  2、给对象所属的类中的所有成员变量进行默认的初始化动作。

  3、开始调用和new对象时传递的参数一致的构造函数。

  4、调用了构造函数之后,开始执行构造函数中的所有代码。(注:哪个对象调用,就把传递到构造函数里的值赋值给堆内存中的变量中)

  5、当把构造函数中的所有代码全部执行完成,这时构造函数出栈,才表示当前这个对象创建完成。

  6、把对象的内存地址赋值给对应的引用变量。

posted @ 2018-02-05 11:57  JiangNian  阅读(369)  评论(0编辑  收藏  举报