构造函数 与 析构函数
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会自动调用析构函数后释放内存)。