类的默认修饰符[重复]

Posted

技术标签:

【中文标题】类的默认修饰符[重复]【英文标题】:Default Modifier of a Class [duplicate] 【发布时间】:2010-12-05 06:48:29 【问题描述】:

可能重复:What are the Default Access Modifiers in C#?

当我在 C# 中定义 class 并且不指定任何访问修饰符时,哪个是默认值?是public 还是protected

【问题讨论】:

【参考方案1】:

在 C# 中,如果类型不是嵌套的(在其他类或结构中)并且没有应用访问修饰符,则它是内部的。如果它是嵌套的 - 私有的。

来自 C# 规范:

3.5.1 声明的可访问性

...

• 在编译单元中声明的类型 或命名空间可以有公共或 内部声明的可访问性和 默认为内部声明 可访问性。 • 班级成员可以 有五种声明中的任何一种 可访问性和默认为私有 声明的可访问性。 (请注意,一个 声明为类成员的类型 可以有五种中的任何一种 声明的可访问性,而类型 声明为命名空间的成员 只能有公共或内部 声明的可访问性。)

【讨论】:

thanku mr.Dzmitry huba 很好的解释谢谢你?我对静态方法、变量、类还有另一个疑问。这些 r 与普通的类、方法和变量有何不同 就默认可访问性而言,它们与实例成员没有什么不同。【参考方案2】:

这是[内部]

【讨论】:

感谢您提供信息

以上是关于类的默认修饰符[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在Java和c#中如果不写访问修饰符,类和类成员默认的是啥访问修饰符?

java中类修饰符都有哪些?

在Java和c#中如果不写访问修饰符,类和类成员默认的是啥访问修饰符?

Java 包与修饰符

Kotlin 初学者类的修饰符

private/默认/protected/public权限修饰符的区别