在 Java 中,通过将访问修饰符保留为默认值(空白),这些字段只能由同一包中的成员访问。但是,这并不能阻止其他人在同一个包中声明他们的类,然后从那里访问“默认”字段。
有没有办法在 Java 中使字段 C# 等效于internal
. 也就是说,当我构建我的库(JAR 文件)时,其他人无法从 JAR 外部访问这些字段吗?即使在与我的课程相同的包中声明他们的课程时。
这是我在图书馆中的声明:
package com.my.package;
class MyRestrictedClass{
}
我试图阻止的是我的库的用户在他们的项目中使用我的 jar 添加到他们的构建路径中,例如:
package com.my.package; //Add their class to my package
public class DeveloperClass{
public void main(){
MyRestrictedClass foo = new MyRestrictedClass();
}
}