首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java中包私有类的优缺点?

Java中包私有类的优缺点?
EN

Stack Overflow用户
提问于 2018-03-27 04:47:21
回答 2查看 0关注 0票数 0

我最近在学Java,并且遇到了package-private类的概念,如果我们没有指定任何东西,这是默认的。但后来我意识到:

  1. 我很少看到使用包私人类。是否有这样的理由,例如,它有严重的缺点,是多余的,还是仅仅是我读得不够?是否有强烈的争论/反对它的用法?
  2. 如果它在大多数情况下确实没有用,为什么它会成为默认值?
  3. 我们应该在什么情况下在现实世界中使用包私有的?也就是说,它何时会成为不可替代的?

换句话说,默认的package-private修饰符的主要优点和缺点是什么?

EN

Stack Overflow用户

发布于 2018-03-27 13:37:37

简短的回答是 - 这是一种稍宽的私人形式。

我假设你熟悉区分public和之间的区别private,以及为什么在方法和变量private如果要单独用于有问题的课程时是很好的做法。

那么,作为一个扩展 - 如果你正在考虑以模块化方式创建你的软件,你可能会考虑为你的模块提供一个公共接口,它将在它们之间有多个类进行协作。在这种情况下,public如果方法被消费者打电话,那么它就非常有意义; private如果他们在班级内部; 而package private如果他们使用这个模块中的类之间的调用,也就是说,它是你的模块的实现细节(公共呼叫者可以看到),但跨越几类。

这在实践中很少使用,因为包装系统对于这类事情不是那么有用。你必须将给定模块的所有类转储到完全相同的包中,这对于任何不重要的东西都会变得笨重。所以这个想法很好 - 让一个方法可以访问少量的“附近”类,稍微宽一些private- 但是对于如何定义这些类的限制意味着它很少被使用/很有用。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100003708

复制
相关文章

相似问题

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