【问题标题】:What is the difference between access specifiers and access modifiers?访问说明符和访问修饰符有什么区别?
【发布时间】:2011-01-15 08:58:51
【问题描述】:

在 Java 中,访问说明符访问修饰符是一回事吗?

【问题讨论】:

标签: java access-modifiers access-specifier


【解决方案1】:

“访问修饰符”是privateprotectedpublic 的官方术语,用于Java language specification。 “访问说明符”在Java API doc 中用作同义词,但这是我第一次注意到这一点。坚持使用 JLS 术语可能会更好。

【讨论】:

  • +1 用于证明 JLS。我认为这毕竟只是语言障碍。
【解决方案2】:

参考 Sun Java Docs,它们似乎都是一样的:

【讨论】:

    【解决方案3】:

    c++ 程序员使用的术语访问说明符 不在 java 中。在java中我们正式使用Access Modifier

    例如:当我们声明一个私有类时,编译器会清楚地显示错误信息如下:

    【讨论】:

      【解决方案4】:

      Java 基本上有两种修饰符:

      1. java 访问修饰符
      2. java 非访问修饰符

      Java 访问修饰符和Java 访问说明符是一回事,分别是publicprivateprotected

      【讨论】:

        【解决方案5】:

        在一些较旧的语言中,公共、私有、受保护和默认值(如 C++)被视为访问说明符,其他所有内容都被视为访问修饰符,但在 Java 中没有说明符的术语,默认情况下所有内容都被视为修饰符。 所以 public、private、protected、default、final、abstract、static、strictfp、synchronized、native、transient 和 volatile 都只是修饰符。

        简单的测试是当我们编译下面的代码时

        私教测试{ }

        我们会得到编译时错误,说这里不允许使用修饰符 private。其他修饰符也是如此。 也许 java 编译器 (javac) 只将所有内容视为“修饰符”。

        【讨论】:

          【解决方案6】:

          在java中没有被称为“访问说明符”,只有在java中访问修饰符

          这种误解来自像 C++ 这样的语言,其中 public、private、protected、default 被视为访问说明符,其余(静态、最终等)被视为访问修饰符

          以下是编译器说“不允许使用修饰符私有的证明” 这里”即编译器表示修饰符而不是说明符

          【讨论】:

            【解决方案7】:

            在我看来,是的,这两个术语指的是同一个东西,并且可以互换使用。

            【讨论】:

            • 这不取决于您,取决于 JLS,并且“访问说明符”一词根本不会出现。
            【解决方案8】:

            JDI 参考是我在 Java 规范中看到术语“访问说明符”的唯一地方。即使在那里,public/protected/private/package 也被称为“修饰符”。确实没有理由在 Java 中使用术语“访问说明符”,这显然只是成千上万页中的一个错误。

            【讨论】:

              【解决方案9】:

              从技术上讲,private、public、protected 和 default 被视为访问说明符。这些处理谁能... 问题。修饰符 afaik 是 volatile、final、static、transient 等。它们处理 how do .. 方面。

              【讨论】:

              • 请为此断言提供 JLS 引用。这是毫无根据的。
              猜你喜欢
              • 2014-11-03
              • 2015-11-26
              • 1970-01-01
              • 2013-12-14
              • 2017-06-04
              • 2015-03-28
              • 2011-04-12
              • 2010-10-11
              相关资源
              最近更新 更多