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