如果我有一个包私有的java类(用“类”声明,而不是“公共类”),那么里面的方法声明为公共或受保护或包私有实际上没有区别,对吗?那么我应该使用哪个,或者什么时候应该使用哪个?我有点困惑。
如果我有一个包私有的java类(用“类”声明,而不是“公共类”),那么里面的方法声明为公共或受保护或包私有实际上没有区别,对吗?
好吧,也许不会立即。但是,如果您随后(或将来)声明一个从包私有类继承的“受保护”或“公共”类,则原始类的成员的可见性do matter.
正如 @kmccoy 指出的,将类声明为 Final 消除了子类的可能性。
但这实际上只是装饰门面。如果您随后决定确实需要创建子类,则只需删除final
...然后您又回到了访问修饰符的选择确实很重要的情况。
IMO,底线是你应该选择最合适的修饰符......即使现在没有必要。如果不出意外,您对修饰符的选择应该记录您对抽象边界所在位置的意图。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)