【发布时间】:2016-08-18 20:56:07
【问题描述】:
我在我的项目中创建了一个扩展 java.util.Logger 的类 MyLogger,我希望每个类都使用相同的记录器,因此有一个静态的 getLogger() 方法,它返回一个 Logger 对象。
计划将此作为一个 jar 文件,可以包含在其他人的程序中,但我不希望他们能够使用这个自定义记录器(即,如果他们想要记录,他们需要设置它使用自己的记录器)。
有什么方法可以让MyLogger 类在它自己的包中,同时允许我的项目/jar 中的其余类能够访问getLogger() 方法,但不允许我的项目之外的类调用它(有点像包私有,但对于整个项目)还是将它放在我的“父”包中的唯一方法?
【问题讨论】:
-
有点像包私有,但适用于整个项目不。没有这样的访问修饰符。
-
顺便说一句,您评估过SLF4J吗?
-
您将能够在 Java 9 中使用模块来执行此操作。参考this table。
标签: java access-modifiers