欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

什么是 JAVA 构造函数

最编程 2024-05-06 16:30:23
...

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

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

java 构造函数的执行过程

类初始化时构造函数调用顺序: (1)初始化对象的存储空间为零或null值; (2)调用父类构造函数; (3)按顺序分别调用类成员变量和实例成员变量的初始化表达式;

package strong; public class Const { private int a, b, c; public void Const() { System.out.println(“构造函数”); a = 3; b = 5; this.c = a + b; } public void test() { System.out.println(“The value of c :” + c); } public static void main(String[] args) { Const c = new Const(); c.test(); } }

输出结果:

The value of c :0

意外吗?好还看看上面的说明就知道原因了;

public void Const() { System.out.println(“构造函数”); a = 3; b = 5; this.c = a + b; }

其实不是这个类的构造函数,因为这个类没有声明构造函数,所以默认走一个不带任何参数的构造函数;

现在我们把void去掉;则结构输出:

构造函数 The value of c :8

推荐阅读