首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >让RecursiveTask的计算方法受到保护的设计选择背后的原因是什么?

让RecursiveTask的计算方法受到保护的设计选择背后的原因是什么?
EN

Stack Overflow用户
提问于 2014-07-11 07:28:27
回答 1查看 50关注 0票数 0

在Fork/Join框架中,RecursiveTask<T>compute()方法被声明为protected,而不是包默认值,剩下的覆盖选项只包括protectedpublic (包默认值不会编译)。

选择protected而不是package default有什么原因吗?我很想知道,因为这可能会帮助我理解框架中我还不知道的一个方面。

EN

回答 1

Stack Overflow用户

发布于 2014-07-11 07:50:05

如果compute()RecursiveTask<T>中有包访问权限,它就不能被覆盖。当一个方法覆盖另一个方法时,JLS §8.4.8.1会详细说明;如果超类中的方法有包访问权限,那么只有当它与超类在同一个包中时,子类中的compute()方法才会覆盖它。因为超类RecursiveTask<T>java.util.concurrent中,所以只有当您的类也在java.util.concurrent中时,具体的子类才能覆盖它--您不想这样做,Java可能也不允许这样做。

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

https://stackoverflow.com/questions/24687927

复制
相关文章

相似问题

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