Java 不带任何修饰符的类中的公共构造函数
当我们创建一个访问级别为默认的类“Hoge”时, 两者的区别是什么Java 不带任何修饰符的类中的公共构造函数,java,Java,当我们创建一个访问级别为默认的类“Hoge”时, 两者的区别是什么 Hoge(){} 及 ? 我知道该类在其他包中是不可见的,但是在这种情况下, “公共”是如何运作的?请参见: 构造函数是类的成员,构造函数的访问级别与其他成员相同。请参阅: 构造函数是类的成员,构造函数的访问级别与其他成员相同。当类成员是公共成员时,表示可以看到该类的每个人(而不是任何其他人)都可以看到该类 因此,如果类是包私有的,那么它的公共成员和包私有成员本质上具有相同的可见性 我能想到的唯一区别是,如果该类稍后成为公
Hoge(){}
及
?
我知道该类在其他包中是不可见的,但是在这种情况下,
“公共”是如何运作的?请参见:
构造函数是类的成员,构造函数的访问级别与其他成员相同。请参阅:
构造函数是类的成员,构造函数的访问级别与其他成员相同。当类成员是公共成员时,表示可以看到该类的每个人(而不是任何其他人)都可以看到该类 因此,如果类是包私有的,那么它的公共成员和包私有成员本质上具有相同的可见性
我能想到的唯一区别是,如果该类稍后成为公共类,则公共成员将对所有人可见(与该类一起),而包私有成员将保持原样。当类成员为公共类时,这意味着可以看到该类的所有人都可见。(而不是其他任何人) 因此,如果类是包私有的,那么它的公共成员和包私有成员本质上具有相同的可见性
我能想到的唯一区别是,如果该课程稍后公开,那么公开成员将对所有人可见(与该课程一起),而包私有成员将保持原样。你的问题不清楚。你的“作品”是什么意思?你的问题不清楚。你的“作品”是什么意思?OP似乎已经知道…@assylias那么他的问题很模糊。据我所知,这应该回答他。OP似乎已经知道…@assylias那么他的问题很模糊。据我所知,这应该回答他。如果你的类是包私有的,那么它的公共成员和包私有成员具有相同的v可视性,本质上是。=>不真实。请参阅我发布的副本:可以使用公共构造函数实例化公共子类。使用包私有构造函数是不可能的。如果您的类是包私有的,则其公共成员和包私有成员具有相同的可视性,本质上。=>不真实。请参阅duplicate I posted:可以使用公共构造函数实例化公共子类。使用包私有构造函数是不可能的。
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