【发布时间】:2012-09-21 10:03:48
【问题描述】:
我们在一个类中有一个 getter 方法。 在同一个 JAR 中,我们希望变量可以从同一个包和子包中以无标识符访问级别访问。
低于来自http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html的访问级别
我们的问题是,我们如何阻止某人获取已编译的 .JAR、创建具有相同包命名空间定义的类以及能够通过 getter 访问我们的变量?
我们考虑过去掉特定变量的所有 getter,并在其他类通过 setter 和构造函数时将变量值传递给它们自己。显然,它们将是最后的课程。这样所有需要变量值的对象都有自己的私有副本。
我想知道是否有更好的方法?
【问题讨论】:
-
是什么阻止他们拿走你的 jar,反编译类,向访问器添加“public”并彻底破坏安全性?
标签: java jar namespaces