C#的修饰符

C#修饰符之类修饰符:public、internal、 partial、abstract、sealed、static

C#修饰符之成员修饰符:public、protected、private、internal、sealed、abstract、virtual、override、readonly、const

c#里面一共有五种访问修饰符,五种中每个种的访问权限都是不一样的

public:(可以修饰类也可以修饰成员)公共的,最高的访问级别,访问没有限制

Internal:(可以修饰类也可以修饰成员)内部的,类和方法的默认访问修饰符是internal,只有在本程序集内的成员可以访问,其他程序集或站点引用其所在的程序集无法访问此类。例如程序集LibraryA写有ClassA,程序集LibraryB引用LibraryA,在LibraryB的类或方法里无法通过LibraryA调用ClassA

Partial:(它只修饰类),部分的,可以将一个类分成几部分写在不同文件中,最终编译时将合并成一个文件,且各个部分不能分散在不同程序集中

Abstract:(可以修饰类也可以修饰成员)抽象的,修饰类的时候表示该类为抽象类,不能够创建该类的实例。修饰方法的时候表示该方法需要由子类来实现,如果子类没有实现该方法那么子类同样是抽象类;且含有抽象方法的类一定是抽象类

Sealed:(可以修饰类也可以修饰成员)密封的,修饰类时表示该类不能够被继承,修饰方法时表示该方法不能被重写【sealed相当于java中的final修饰符】

Static:(可以修饰类也可以修饰成员)静态的,修饰类时表示该类是静态类,不能实例化该类的对象,既然不能实例化该类,那么这个类也就不能含有对象成员,即该类所有成员为静态;类成员只能通过【类.成员名】的方式访问。当static修饰构造函数时,构造函数不能含有任何参数,不能含有修饰符,构造函数不能对对象成员进行初始化操作。但是能够对静态成员进行初始化或者调用。不能保证他在什么时候执行,却能保证在第一次使用类型前执行。在静态构造函数中初始化的静态成员为最终初始化结果

private:(只修饰成员)私有的,最低的访问级别,被private访问修饰符修饰的成员只有在当前类的内部可以访问,其他地方一律不得访问

protected:(只修饰成员)受保护的, 只有在当前类内部及所有的子类内部可以访问。只有继承父类后,才可以调用它的属性

Virtual:修饰方法成员,表示虚方法。父类可以含有该类的实现,子类可以覆写该函数。

Override:表示该方法为覆写了父类的方法。

Readonly:修饰字段,表示该字段为只读字段。readonly是运行时只读,内容在运行时确定,所以修改了readonly类型成员后无需重新编译即可生效,Readonly不能修饰局部变量

Const:修饰字段,表示该字段为只读字段。const修饰的字段在编译时必须能够明确知道该字段的值,其值是硬编码到程序中去的,修改了该类型成员后需要重新编译才能使修改生效,const可以修饰局部变量

 

转载于:https://www.cnblogs.com/luna-hehe/p/9174439.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值