`public class`和`class`之间有什么区别?

Tus*_*rul 29 java class

我注意到如果不在public课前写,它的作品就像a一样public class.我不明白为什么会这样?当我没有声明一个类时,它应该显示错误public,privateprotected.但它运作正常.是什么原因?

Jon*_*eet 33

我注意到如果不在一个类之前写公共它的工作方式与公共类一样.

不,不.除非它是公开的,否则该类不会出现在不在同一个包中的其他代码中.默认可访问性(无法明确指定)是类(或其他成员)仅对同一包中的其他代码可见.

您应该阅读Java语言规范部分6.6Java教程(控制对类成员的访问)以获取更多详细信息.


Ale*_*exR 29

public,protected并且private是访问修饰符.公共意味着主题可以由任何类访问,受子类保护,私有类本身,没有修饰符意味着"包受保护",因此主题可以由同一个包中的类访问.

主题是类,方法,成员变量.

  • 如果主题是“顶级”级别,则不能将其声明为“私有”或“受保护”。 (2认同)

Est*_*aya 5

类是package private在默认情况下(如概述在这里),所以它的行为不一样。您只是认为这是因为您没有尝试使用其他包中的类。