【C#】 构造函数

构造函数

提起面向对象,就要提起类和对象的概念。而对象的概念完全可以和一个人的生命旅程相类比。人之初生便是对象刚刚通过构造函数被创建出来。人之死亡便是对象调用析构函数释放空间。

 C#中,一个对象的产生,大致经历几个步骤:系统为对象分配一定的存储空间,然后初始化其附加成员,最后再调用构造函数执行初始化。  

构造函数要有主体({}),不能有返回值,可以重载多个构造函数。
如果不写构造函数,C#某人自动生成构造函数。
一旦你在类中写了构造函数,C#的默认构造函数就会自动消失。
构造函数分为:

1. 实例构造函数
2. 私有构造函数
3. 静态构造函数

实例构造函数:
使用new表达式创建类对象是,会自动调用实例构造函数创建和初始化所有实例成员变量。new -> 构造函数

实例构造函数的写法
构造函数的重载

私有构造函数

实例构造函数是Public的,而私有构造函数是private的。他通常用在只包含静态成员的类中。
其目的是为了防止类被实例化。
如果不对构造函数使用访问修饰符,则在默认情况下它仍为私有构造函数。 但是,通常显式地使用private修饰符来清楚地表明该类不能被实例化。

静态构造函数

静态构造函数可以理解为静态函数的子集,静态函数是属于类,它不属于对象。类中的静态变量也是同样,静态变量只属于类不属于对象。
静态构造函数的特点:
- 静态构造函数既没有访问修饰符,也没有参数。
- 在创建 或引用任何静态成员之前,将自动调用静态构造函数来初始化类,也就是无法直接调用 静态构造函数,也无法控制什么时候执行静态构造函数。
- 一个类只能有一个静态构造函数,最多只能运行一次。
- 静态构造函数不可以被继承。
- 如果没有静态构造函数,而类中的静态成员有初始值,那么编译器会自动生成默认的静态构造函数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值