xyz公司创建了一个包
com.xyz.utils.
在两个单独的文件中声明了两个类。它们有一些变量作为包私有。这样A类中的变量X就可以在同一个包的B类中使用。
package com.xyz.utils;
public class A{
int a=10;
}
package com.xyz.utils;
public class B{
int b = (new A()).a;
}
这两个文件被编译成jar并发送给客户。
客户将jar添加到他正在构建的项目中,并编写如下代码
package com.xyz.utils;
public class customer_class
{
int Y = (new A()).a;
}
上面的代码是否正确?
我的疑问是。我们如何使声明为包私有的变量在其他人使用包时不可见。
发布于 2012-01-28 10:05:59
答案是“不”--你不能阻止他们这么做。
发布于 2012-01-28 10:58:49
这在一般情况下是做不到的。我认为,您可以在jar清单中seal the package 'com.xyz.utils‘,以告诉用户:不要将他们的类定义在密封的包中作为最佳实践。但您不能限制您的库的用户执行此操作。
https://stackoverflow.com/questions/9020172
复制