44

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

4

9 回答 9

47

“访问修饰符”是的官方术语private,用于Java 语言规范。“访问说明符”在Java API 文档中同义使用,但这是我第一次注意到这一点。坚持使用 JLS 术语可能会更好。protectedpublic

于 2010-02-10T17:09:55.750 回答
6

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

于 2010-02-10T17:16:17.497 回答
6

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

例如:当我们声明一个带有 private, static 的类时,编译器清楚地显示错误信息如下:
在此处输入图像描述

于 2016-01-09T01:31:13.910 回答
1

Java 基本上有两种修饰符:

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

Java 访问修饰符和 Java 访问说明符是一回事,它们是public, private, protected.

于 2012-05-22T05:59:02.890 回答
1

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

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

私人课程测试{}

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

于 2014-08-26T03:10:31.637 回答
1

java中没有所谓的“访问说明符”,java中只有访问修饰符

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

以下是编译器说“此处不允许使用修饰符私有”的证明,即编译器说修饰符而不是说明符

在此处输入图像描述

于 2020-08-29T09:52:02.587 回答
0

据我说,是的,这两个术语指的是同一件事,并且可以互换使用。

于 2010-02-10T17:12:27.720 回答
0

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

于 2010-02-15T00:31:13.527 回答
-4

从技术上讲,private、public、protected 和 default 被视为访问说明符。这些处理谁可以......问题。修饰符 afaik 是 volatile、final、static、transient 等。这些处理如何 .. aspect。

于 2010-02-10T17:12:55.913 回答