1

当我们创建一个默认访问级别的“Hoge”类时,它们之间有什么区别

 Hoge(){} 

public Hoge(){}

?

我知道该类在其他包中不可见,但在这种情况下,“公共”是如何工作的?

4

2 回答 2

4

请参阅官方文档

                  Access Levels
------------+---------+---------+-----------+------
Modifier    |   Class | Package |  Subclass | World
------------+---------+---------+-----------+------
public      |     Y   |    Y    |     Y     |   Y
protected   |     Y   |    Y    |     Y     |   N
no modifier |     Y   |    Y    |     N     |   N
private     |     Y   |    N    |     N     |   N

构造函数是类的成员,构造函数的访问级别与其他成员相同。

于 2013-08-05T06:52:32.077 回答
0

当一个类成员是 public时,这意味着它对可以看到该类的每个人(而不是其他任何人)都可见。

所以,如果你的类是包私有的,那么它的公共成员和包私有成员本质上具有相同的可见性。

我能想到的唯一区别是,如果该类稍后变为公共,则公共成员将对所有人(以及该类)可见,而包私有成员将保持原样。

于 2013-08-05T06:54:53.600 回答