1) 构造函数

①概念

构造函数是一种特殊的函数。主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。构造函数与类名相同,Java语言中普遍称之为构造方法。

 

②特点

①构造方法名必须与类名相同

②构造方法没有返回值类型,不能使用return语句

③构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域

④一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统自动插入一个无参数的默认构造方法,这个构造方法不执行任何代码

⑤构造方法可以重载,以参数的个数,类型,顺序。

 



 ③构造函数执行过程(Java为例)

①类初始化时构造函数调用顺序:

②初始化对象的存储空间为零或null值

③调用父类构造函数

④按顺序分别调用类成员变量和实例成员变量的初始化表达式


 


  ④举例如下(Java)




public class Stu1 {
public Stu1()
{
System.out.println("调用了Stu1类的无参构造函数。");
}
public Stu1(String name)
{
System.out.println("调用了Stu1类的有参构造函数,参数内容:"+name);
}
}

public class Stu2 extends Stu1{
public Stu2(){
System.out.println("调用了Stu2类的无参构造函数。");
}
public Stu2(String name){
super(name);
System.out.println("调用了Stu2类的有参构造函数, 参数内容: "+name);
}
}


import java.util.*;
public class TestConstr {
public static void main(String []args)
{
Stu2 stu=new Stu2();
Stu2 stu2=new Stu2("zhangsan");
}
}


 

2)析构函数

①概念

析构函数(destructor) 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,delete会自动调用析构函数后释放内存)。