我试图封装服务包的所有内部功能。我的大多数类和方法都是包私有的。我有一些内部接口,我不想在包之外暴露。我可以使接口本身package-private,但所有的方法仍然是公共的(接口方法的默认范围)。什么等同于封装封装内部功能的封装专用接口?
对于在此包中从我的内部实现中消除公共方法签名的选项是什么?
我正在使用接口,因此我可以轻松地使用spring切换实现。
一些事情要考虑:使用源代码分析将报告接口的方法为公共的API方法开发工具。例如,一个UML生成器会生成一个令人误解的UML图,这个图不正确地显示这是一个公共方法。
您可以交换抽象类的接口。 – Bart
为什么需要降低界面成员的可视性?如果接口本身是包私有的,如果它的成员是公共的,它又有什么关系?是否有公共类实现这些接口的问题,并且您不希望接口方法实现公开显示? –
请参阅http://stackoverflow.com/questions/423032/interfaces-in-java-cannot-make-implemented-methods-protected-or-private – CupawnTae