包内的方法可访问性

如果我有一个java类,它是package-private(用“class”声明,而不是“public class”),如果里面的方法声明为public或protected或者package-private,那么真的没有区别吗? 那么我应该使用哪一个,或者什么时候应该使用哪个? 我有点困惑。


如果我有一个java类,它是package-private(用“class”声明,而不是“public class”),如果里面的方法声明为public或protected或者package-private,那么真的没有区别吗?

好吧,也许不会立即。 但是,如果你(或将来)声明从包私有类继承的“保护”或“公共”类,那么原始类的成员的可见性确实很重要。

正如@kmccoy指出的那样,将这个类声明为final可以消除子类的可能性。

但这真的只是一个橱窗。 如果您决定确实需要创建子类,那么只需删除final ......然后回到访问修饰符的选择很重要的情况。

国际海事组织,底线是你应该选择最合适的修饰语...即使现在没有必要。 如果没有别的,你选择的修饰符应该记录你的意图,即抽象边界在哪里。


包类中的公共方法对同一包中的类是公共的。 但是,私有方法不能被同一个包中的类访问。

链接地址: http://www.djcxy.com/p/4113.html

上一篇: Method accessibility inside package

下一篇: Java Class Accessibility