如果我有一个包私有的java类(用“ class”声明,而不是“ public class”),那么将内部方法声明为public或protected或package-private确实没有区别,对吗?
好吧,也许不是马上。但是,如果您随后(或将来)声明了一个从package-private类继承的“ protected”或“ public”类,则原始类成员的可见性 重要。
正如@kmccoy指出的那样,将类声明为final消除了子类的可能性。
但这实际上只是橱窗装饰。如果随后您确定确实需要创建子类,则只需删除final
…,然后回到访问修饰符的选择确实很重要的情况。
海事组织,最重要的是,您应该选择最合适的修饰符……即使现在没有必要。如果没有其他要求,则选择的修饰符应记录您的意图,即抽象边界的位置。