c# 构造函数

构造函数分为实例构造函数、私有构造函数和静态构造函数

注意:静态类中无法创建构造函数

 实例构造函数  

(1)它主要用于为对象分配存储空间,对数据成员进行初始化.

(2)类默认自带构造函数 如果需要扩展内容 也可以重新定义构造函数(

public MyClass() {

            Console.WriteLine("MyClass构造函数调用了1");

        }
        public MyClass() {
            Console.WriteLine("MyClass构造函数调用了2");
        }

(3)实例构造构造函数的名字必须与类同名

 public class MyClass1 
    {

   private MyClass1() {
         
        }

(4)实例构造函数没有返回类型,它可以带参数,也可以不带参数

 public MyClass(int age) {

            _age = age;
            Console.WriteLine("MyClass构造函数调用了2");
        }

(5)实例构造方法的访问修饰符通常是public类型的,这样在其他类中都可以创建该类的对象

 (6)构造方法是在创建类的对象时被调用的。通常会将一些对类中成员初始化的操作放到构造函数中去完成

MyClass(构造函数).Age(属性) = 18;

不用调用 控制台会输出 18

(7)构造函数可以重载,从而提供初始化类对象的不同方法()

私有构造函数

 私有构造函数可用于阻止外部创建类的实例 
 如果内部调回构造函数  还是可以创建对象  
 如果想要一个类 真正的没有对象创建  使用静态类

 public class MyClass1 
    {
        private static int _age;
        private static string _name;

        private MyClass1() {
            _age = 10;
            _name = "张三";
        }

        public static MyClass1 Create()
        {

            MyClass1 myClass1 = new MyClass1();
            return myClass1;

        }

静态构造函数

  1、静态构造函数既没有访问修饰符,也没有参数。
         2.创建第一个类实例或任何静态成员被引用时,自动调用静态构造函数来初始化类
         3.一个类只能有一个静态构造函数。 如果没定义 系统默认有  反之只能定义无参静态构造函数 

 public MyClass3()(可以只有无参数 的函数)
        {
            Console.WriteLine("MyClass3无参实例构造函数");
        }
        public MyClass3(int a)(不能只有有参数 的函数)
        {
            Console.WriteLine("MyClass3有参实例构造函数");
        }
         4.无参数的实例构造函数可以与静态构造函数共存。尽管参数列表相同,但一个属于类,
          一个属于实例,所以不会冲突
         5.在类创建时 系统自动调用一次静态构造函数 

析构函数
1.垃圾回收程序最终销毁对象之前调用的方法,该方法称为析构函数
2.析构函数,没有返回值,且不带任何参数。
3.在对象删除前,用它来做一些清理工作 比如 一些和类相关的数据
强制开启回收 立即回收内存 调用析构函数(自带功能)
         GC.Collect();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值