private class 中的可见性修饰符有什么区别?

What is the difference in visibility modifiers inside private class?

如题。为什么首先允许在 private classes 中使用任何修饰符? private class 在文件外是不可见的,所以我们无论如何都无法访问它们。如果可见性在此类 classes 中很重要,那么推荐哪个?

您的私有 class 仍然可以实现 public 接口(或扩展可访问的 class)。

或者只是覆盖 toStringequalshashCode(所有这些都必须是 public)。

一个区别:privateClass.getMethods 将 return 仅 public 方法

另一个:一些工具,比如 JAXB,可能正​​在寻找 public setter/getters