析构函数 --- 当进行垃圾回收时,就执行析构函数中的代码,释放资源
namespace ConsoleApplication1 { class MyClass { public MyClass() { //默认的构造函数 } public MyClass(int myint) { //非默认的构造函数 } ~MyClass() { //析构函数 } } class Car { private string description; private uint nWheels; public Car(string description, uint nWheels) { this.description = description; this.nWheels = nWheels; } public Car(string description) : this(description, 4) { //构造函数初始化器 --- this关键字仅调用参数最匹配的那个构造函数, 构造函数初始化器在构造函数之前执行 } } }
--------------------------------------------------------
构造函数
共同点:
都是实例化对象,初始化数据的
默认构造是说所有的类都从祖先object那继承了空参的构造方法,你不写与写空参构造都存在,而有参数的构造一般是自己写的,写就有不写就没有,它的作用和空参的一样,只是它里面可以有参数,给你个例子来说明吧
有一个类Monitor它有属性String height;String width
public Monitor(){}
public Monitor(String height,String width){}
有一个空参的一个有参的构造的方法
在main方法里我做初始化动作
Monitor monitor=new Monitor();
这个构造只是把显示器这个对象创造出来了,它的属性就没有值,也可以再手动给它赋上值
如:monitor.height=100;
monitor.width=200;
用有参的就不一样了,少很多事
Monitor monitor2=new Monitor("100","200");
在这里我只要把想放进去的参数直接放进去就能给我的属性赋上值,是不是省了很多事?
这就是它的优势!
回答完结!