C#类的访问修饰符用法分析
作者:shichen2014 时间:2021-12-22 22:23:01
本文详细分析了C#类的访问修饰符用法,分享给大家供大家参考。具体用法分析如下:
默认情况下,类声明为内部的,即只有当前工程中的代码才能访问它。可以用internal访问修饰符关键字显式指定,但这不是必须的,类在定义时默认为此类型的类。但是C# 方法默认访问级别: private。
方法或者属性的修饰符的访问级别如下图:
访问修饰符 | 意 义 |
public | 访问不受限制,可以类内和任何类外的代码中访问 |
protected | 可访问域限定于类内或从该类派生的类内 |
internal | 可访问域限定于类所在的程序集内 |
protected internal | protected或者internal,即可访问域限定于类所在的程序或那些由它所属的类派生的类内 |
private | 可访问域限定于它所属的类内 |
类定义中可以使用的访问修饰符组合
none or internal 类只能在当前工程中访问
public 类可以在任何地方访问
abstract or internal abstract 类只能在当前工程中访问,不能实例化,只能继承
public abstract 类可以在任何地方访问,不能实例化,只能继承
sealed or internal sealed 类只能在当前工程中访问,不能派生,只能实例化
public sealed 类可以在任何地方访问,不能派生,只能实例化
下面介绍一下C#中方法、类等的默认访问修饰符
接口(interface)
接口成员访问修饰符默认为public,且不能显示使用访问修饰符。
类(class)
构造函数默认为public访问修饰符。
析构函数不能显示使用访问修饰符且默认为private访问修饰符。
类的成员默认访问修饰符为private;
枚举(enum)
枚举类型成员默认为public访问修饰符,且不能显示使用修饰符。
结构(struct)
结构成员默认为private修饰符。
结构成员无法声明为protected成员,因为结构不支持继承。
嵌套类型
嵌套类型的默认访问修饰符为private。 和类,结构的成员默认访问类型一致
希望本文所述对大家的C#程序设计有所帮助。
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Java 中的Printstream介绍_动力节点Java学院整理
SpringBoot线程池和Java线程池的使用和实现原理解析
SpringBoot封装JDBC的实现步骤
![](https://img.aspxhome.com/file/2023/0/70340_0s.jpg)
解析Flink内核原理与实现核心抽象
![](https://img.aspxhome.com/file/2023/8/59868_0s.png)
Mybatis + js 实现下拉列表二级联动效果
![](https://img.aspxhome.com/file/2023/9/69699_0s.png)
详解Java单元测试之JUnit篇
![](https://img.aspxhome.com/file/2023/1/67491_0s.jpg)
浅谈Java编程之if-else的优化技巧总结
Java对象数组定义与用法详解
![](https://img.aspxhome.com/file/2023/3/75393_0s.png)
Spring JDK动态 代理实现过程详解
![](https://img.aspxhome.com/file/2023/2/59392_0s.png)
Java事件机制要素及实例详解
Windows10系统下JDK1.8的下载安装及环境变量配置的教程
![](https://img.aspxhome.com/file/2023/7/62507_0s.jpg)
C# winfrom 模拟ftp文件管理实现代码
深入了解c# 迭代器和列举器
c#的dllimport使用方法详解
C#对JSON与对象的序列化与反序列化
![](https://img.aspxhome.com/file/2023/7/71067_0s.png)
Java Socket通信之聊天室功能
![](https://img.aspxhome.com/file/2023/3/61283_0s.jpg)
解决try-catch捕获异常信息后Spring事务失效的问题
Java RandomAccessFile 指定位置实现文件读取与写入
浅谈Maven的build生命周期和常用plugin
![](https://img.aspxhome.com/file/2023/1/75441_0s.jpg)