我在互联网上读过,我听过有人说
访问说明符::
访问说明符确定方式 可访问的领域是编码 其他课程。访问范围从 完全可以访问 无法访问。你可以选择 声明具有访问权限的字段 说明符关键字:public,private, 或受保护。
访问修饰符::
您可以选择声明一个字段 使用修饰符关键字:final或 挥发性和/或静态和/或 瞬态,抽象等。
有什么不同吗?因为访问修饰符和访问说明符的大多数定义都表示相同的东西......这看起来很模糊。
答案 0 :(得分:6)
在此上下文中,您可以将访问说明符视为保护说明符 - 它们指定可以从中访问变量的位置。相比之下,访问修饰符是完全不同的;他们指定应该(或不应该)访问 变量的方式;例如只读,易失性等。
即,变量可以是公共的但是只读,或者它可以是私有的和可写的 - 访问说明符与修饰符无关。
但是,我对C#的术语感到有些惊讶,因为Microsoft实际上调用public
和private
“access modifiers”,并调用volatile
和readonly
只是简单的“modifiers”。
答案 1 :(得分:2)
据我所知,这些条款之间没有任何区别。例如,MS C ++文档同时使用这两个术语。
答案 2 :(得分:2)
参考MSDN C#4.0文档,我想你误解了一些东西。 C#没有像“访问说明符”这样的词,但是它用于控制访问级别的修饰符的修饰符或访问修饰符。
希望得到这个帮助。
<强>更新强>
我想,这个问题就像你问我包和命名空间之间的区别。这取决于您使用或相信的语言或教授。像这个问题一样,没有什么是错的。
根据经验(以及单词的含义),访问修饰符应该意味着控制访问,如公共或私人。另一方面,Access说明符应该是访问修饰符的超类,这意味着它包含其他关键字,如static,final,readonly或类似的内容。
PS。无论是C#,VB.NET还是Java,它们都使用访问修饰符来表示公共或私有关键字。另一方面,C ++使用相同关键字的访问说明符。
Access Levels in Visual Basic (VB.NET 2010)
答案 3 :(得分:1)
我相信访问说明符确定某个字段/方法的可见性。
访问修饰符会告诉您有关该字段的行为和用法的更多信息。您可以说该字段是否需要实例化对象,或者是否可以覆盖它。
答案 4 :(得分:0)
类的访问说明符指示其他类变量可以在当前类中访问的内容。 类的访问修饰符表示访问说明符的相同功能