我对用于Java中顶级类的访问修饰符有些怀疑。
1)访问修饰符public或default只能用于顶级类甚至嵌套类?
2)假设有两个不同的A类和B类,它们都在不同的包中。然后,为了通过B类访问(访问类成员)到A类,那么顶级类,即'A'和类成员都应该被公开定义,对吧?如果班级或班级成员不公开,那么B班将无法访问A类,对吗?
如果我错了,请纠正。
答案 0 :(得分:0)
1)嵌套类可以与顶级类具有相同的访问修饰符。
2)为了从B类访问A类,只需A是公开的。 B类可以是包私有(默认)。如果A的方法是公共的(如果B不从A继承),则B只能访问A的方法。如果A类是私有包,那么如果A包含任何公共方法并不重要 - 它们不会被B访问。