访问说明符和访问修饰符之间有什么区别?

时间:2010-02-10 17:02:43

标签: java access-modifiers access-specifier

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

10 个答案:

答案 0 :(得分:41)

“访问修饰符”是private中使用的protectedpublic和{{1}}的官方术语。 “访问说明符”在Java language specification中同义使用,但这是我第一次注意到这一点。坚持使用JLS术语可能更好。

答案 1 :(得分:5)

参考Sun Java Docs,它们似乎都是相同的:

答案 2 :(得分:3)

c ++程序员使用的术语访问说明符不在java中。在java官方网站中,我们使用访问修饰符

例如:当我们使用private,static声明一个类时,编译器会清楚地显示错误消息,如下所示:
enter image description here

答案 3 :(得分:1)

Java基本上有两种类型的修饰符:

  1. java访问修饰符
  2. java非访问修饰符
  3. Java访问修饰符和Java访问说明符是相同的,publicprivateprotected

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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

答案 6 :(得分:0)

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

简单测试就是我们编译以下代码

私人课程测试{ }

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

答案 7 :(得分:0)

在Java中没有称为“访问说明符”的 ,在Java中只有 个访问修饰符

误解来自C ++之类的语言,其中公共,私有,受保护,默认被视为访问说明符,其余(静态,最终等)被视为访问修饰符

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

enter image description here

答案 8 :(得分:-3)

从技术上讲,private,public,protected和default被视为访问说明符。这些处理谁可以... 问题。修改器afaik是易失性的,最终的,静态的,瞬态的等等。这些处理如何... 方面。

答案 9 :(得分:-4)

通过使用访问说明符,我们定义谁可以访问我们的类/方法和变量(或者我们使用访问说明符的任何人)。 基本上java访问说明符有四种类型 -

  1. 公众: - 向世界展示,
  2. 私人: - 只对班级可见,
  3. protected: - 对包和所有子类可见,
  4. 默认: - 包可见
  5. 但是访问修饰符是类/方法/变量的属性。 访问修饰符有五种类型

    1. final: - 用于完成类,方法和变量的实现
    2. static: - 用于创建类方法和变量
    3. 同步和易失性修饰符: - 用于线程
    4. abstract: - 用于创建抽象类和方法
    5. 瞬态