关于JAVA中的构造函数,

来源:百度知道 编辑:UC知道 时间:2024/06/15 23:12:27
学了有一段时间了,到底什么是构造函数,构造函数有什么用,还是没有完全理清楚,只是知道要调用这个类,在main函数用new 来构造,调用。也知道其实构造函数是有初始化功能,谁能解释的详细点,最好可以带上内存分配,还有运行过程!

java是不能自己分配内存的··所以你所说的内存分配问题不存在。
有的时候调用这个类不必要用到构造函数。
只有你需要用到这个类的对象的时候才会用到它。

构造函数在对象创建之前调用的,所以是静态的。
在调用本类的构造器之前必须调用父类的构造器。你可以不自己调用,但是编译器一定为调用,因为必须先初始化父类。

构造器是用来初始化成员变量的,但是也不是一定要初始化。同样也不是不可以在构造器里面写别的东西。
在第一次调用本类的构造器或者使用本类的时候,系统会初始化本类的静态变量。并给他们分配空间。

每创建一个类的实例都去初始化它的所有变量是乏味的。如果一个对象在被创建时就完成了所有的初始工作,将是简单的和简洁的。因此,Java在类里提供了一个特殊的成员函数,叫做构造函数(Constructor)。
一个构造函数是对象被创建时初始对象的成员函数。它具有和它所在的类完全一样的名字。一旦定义好一个构造函数,创建对象时就会自动调用它。构造函数没有返回类型,即使是void类型也没有。这是因为一个类的构造函数的返回值的类型就是这个类本身。构造函数的任务是初始化一个对象的内部状态,所以用new操作符创建一个实例后,立刻就会得到一个清楚、可用的对象。

构造方法是一种特殊的方法,具有以下特点。
(1)构造方法的方法名必须与类名相同。
(2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。
(3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。
(4)构造方法不能由编程人员调用,而要系统调用。
(5)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。
(6)构造方法可以重载,以参数的个数,类型,或排列顺序区分。

一般构造函数就是你说的初始化的功能。如果你说内存的话,只要new了以后,这个类的属性结构就已经保存到内存当中了,然后后续的程序会直接到内存中调用以这个类为结构而生产的对象,最后GC会在这个对象不使用的时候将其回收。
至于构