首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java -包中的方法可访问性-私有类?

Java -包中的方法可访问性-私有类?
EN

Stack Overflow用户
提问于 2009-08-29 01:38:52
回答 2查看 9.8K关注 0票数 10

如果我有一个包私有的java类(用" class“声明,而不是"public class"),那么里面的方法是被声明为public的,还是被保护的,或者是package-private的,真的没有区别,对吧?那么我应该使用哪一个,或者我应该在什么时候使用哪一个?我有点困惑。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-08-29 01:50:54

如果我有一个java类是包私有的(用" class“声明,而不是"public class"),那么里面的方法是声明为公共的,还是受保护的,还是包私有的,对吧?

好吧,也许不是马上。但是,如果您随后(或将来)声明一个从包私有类继承的“受保护的”或“公共的”类,那么原始类的成员的可见性确实很重要。

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

但这实际上只是装点门面而已。如果您随后决定确实需要创建子类,则只需删除final ...然后,您又回到了访问修饰符的选择很重要的情况下。

IMO,底线是你应该选择最合适的修饰符...即使现在不是必须的。如果没有其他事情,您选择的修饰符应该记录您的意图,即抽象边界所在的位置。

票数 18
EN

Stack Overflow用户

发布于 2009-08-29 01:50:27

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1350171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档