我有一个来自包的特定类:org.jdesktop.swingx.JXErrorPane。
我使用工厂类来调用JXErrorPane类中的方法,而我禁止任何其他类来调用JXErrorPane。需要使用JXErrorPane类的任何其他类都需要调用工厂类。
我在这个网站上发现:http://www.eclipsezone.com/eclipse/forums/t53736.html关于如何禁止访问特定的类或包,但它也禁止我的工厂类。
有没有办法只允许工厂类访问API类但是禁止任何其他类?
答案 0 :(得分:0)
你的问题有点奇怪,但这是我的两分钱:访问修饰符应该是你的朋友。如果您不希望课程在课程外可见,那么课程级别的默认访问修饰符就有意义。默认构造函数会将对象的构造限制为仅在包内可见。我假设这是您在问题中提及的工厂的应用。工厂用于创造物品。
至于限制对工厂的方法的调用,这不是工厂的正确应用。也许您正在寻找代理或代理模式。即使在这种情况下,访问修饰符也是你的朋友。我不确定你为什么要这么复杂,但