构造函数 与 析构函数

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

 

 

posted @ 2018-06-14 17:33  筱筱的春天  阅读(381)  评论(1编辑  收藏  举报