当我们创建一个默认访问级别的“Hoge”类时,它们之间有什么区别
Hoge(){}
和
public Hoge(){}
?
我知道该类在其他包中不可见,但在这种情况下,“公共”是如何工作的?
当我们创建一个默认访问级别的“Hoge”类时,它们之间有什么区别
Hoge(){}
和
public Hoge(){}
?
我知道该类在其他包中不可见,但在这种情况下,“公共”是如何工作的?
请参阅官方文档:
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
构造函数是类的成员,构造函数的访问级别与其他成员相同。
当一个类成员是 public时,这意味着它对可以看到该类的每个人(而不是其他任何人)都可见。
所以,如果你的类是包私有的,那么它的公共成员和包私有成员本质上具有相同的可见性。
我能想到的唯一区别是,如果该类稍后变为公共,则公共成员将对所有人(以及该类)可见,而包私有成员将保持原样。