构造函数和析构函数

析构函数 --- 当进行垃圾回收时,就执行析构函数中的代码,释放资源

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");
在这里我只要把想放进去的参数直接放进去就能给我的属性赋上值,是不是省了很多事?
这就是它的优势!
回答完结!

原文地址:https://www.cnblogs.com/chrisghb8812/p/6089379.html