构造函数和一般函数异同

Posted JiangNian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构造函数和一般函数异同相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

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

 3、它们互相调用问题:

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

 

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

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

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

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

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

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

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

以上是关于构造函数和一般函数异同的主要内容,如果未能解决你的问题,请参考以下文章

面试-面向对象

什么是构造函数?它和普通函数的区别?

遗传算法

STL标准库中string,vector,list使用的异同点

this super

Java 构造函数和函数重载