在Java中,是访问说明符和访问修饰符是一样的东西吗?访问说明符和访问修饰符有什么区别?
回答
号“访问修饰符”是private
,protected
和public
官方术语,而术语“访问说明符”不会在Java language specification出现在所有和据我所知是没有的东西,被广泛使用。
“访问修饰符”是在Java language specification中使用的private
,protected
和public
的官方术语。 “访问说明符”在Java API doc中用作同义词,但这是我第一次注意到这一点。坚持使用JLS术语可能会更好。
+1用于证明JLS。我认为这毕竟只是语言障碍。 – BalusC 2010-02-10 17:12:27
从技术上讲,private,public,protected和default被视为访问说明符。这些处理谁可以...问题。修饰符afaik是易失性的,最终的,静态的,瞬态的等。这些处理如何..方面。
请为此提供JLS引用。这是毫无根据的。 – EJP 2010-05-28 05:22:37
参考了Sun Java文档他们都似乎是相同的:
JDI引用是我见过的在Java规范中使用的术语“访问说明符”的唯一地方。即使在那里,公共/保护/私人/包装也被称为“修饰”。真的没有理由在Java中使用'访问说明符'这个术语,这显然只是一个页面上的错误。
Java有基本上2类型修饰符:
- Java访问修饰符
- java的非访问修饰符
Java访问修饰符和Java访问说明是一回事,这是public
,private
,protected
。
通过使用访问说明符,我们定义谁可以访问我们的类/方法和变量(或任何与我们使用访问说明符)。 基本Java访问符四种类型 -
- 市民: - 可见的世界,
- 私人: - 可见的只有类,
- 保护: - 可见的包和所有子类,和
- 默认: - 可见于封装
但是访问修饰符是一类/方法/可变的特性。 访问修饰符五种类型
- 决赛: - 最后完成的类,方法的实现,和变量
- 静: - 用于创建类的方法和变量
- 同步震荡修饰符: - 这是用来线程
- 摘要: - 用于创建抽象类和方法
- 短暂
在一些较早的语言中,public,private,protected和像C++这样的默认值被认为是访问说明符,而其他所有内容都被认为是访问修饰符,但在Java中没有用于说明符的术语,因此默认情况下所有内容都仅被视为修饰符。 所以公共,私有,保护,默认,最终,抽象,静态,strictfp,同步,本机,瞬态和易失性都只是修饰符。
它简单的测试,当我们编译下面的代码
私有类测试{}
我们将得到编译时错误说,修改私有这里不允许的。对于其他修改器也是如此。 也许java编译器(javac)只能将所有内容视为“修饰符”。
- 1. 访问修饰符和访问说明符之间有什么区别
- 2. 什么是访问修饰符
- 3. 需要说明:java中的私有访问修饰符
- 4. 访问说明符
- 5. 通过访问修饰符
- 6. 保护访问修饰符
- 7. 包访问(protected修饰符)
- 8. 类访问修饰符
- 9. EventInfo访问修饰符
- 10. Java - 访问说明符
- 11. 类和访问修饰符在.NET
- 12. 公共和私人访问修饰符
- 13. javascript中的类和访问修饰符
- 14. 没有访问修饰符的方法
- 15. 为什么没有“外部”访问修饰符?
- 16. 界面成员为什么没有访问修饰符?
- 17. 为什么python对常量没有任何访问修饰符?
- 18. 为什么oop语言没有“只读”访问修饰符?
- 19. 属性访问修饰符;为什么以下工作没有?
- 20. 访问说明符和虚函数
- 21. Apex访问说明符和测试类
- 22. 访问修饰符C# - 内部修饰符
- 23. 使用声明和访问修饰符的嵌套类
- 24. 为什么有多个公共访问说明符standard_layout的类?
- 25. 接口声明的访问说明符
- 26. 类成员访问修饰符
- 27. 了解默认访问修饰符
- 28. Java默认访问修饰符
- 29. 访问修饰符的正确应用
- 30. C++继承与访问修饰符
有趣的是,我从来没有在几年前看到这个特殊的问题,但你显然不是唯一一个想知道这个问题的人:http://www.google.com/search?q=difference+access+specifier+access+modifier;) – BalusC 2010-02-10 17:05:16