对于Java中的方法,C#中可用的internal
访问修饰符相当于什么?
(我知道default
即方法,没有任何范围的变量都有package
访问权限,但我正在寻找等价的关键字
我们如何在Java中实现protected internal
范围的方法?
答案 0 :(得分:25)
在Java中没有等效的程序集,因此不能有一个等价的访问修饰符,它使成员在程序集中可用。
您最接近internal
的是默认的辅助功能,它类似但基于包。
您距protected internal
最近的地方是protected
(但同样基于套餐)。请注意,Java 中的protected
也可以自动访问包 - Java中没有任何内容与C#protected
一样具有限制性(就而言 >在子类中可用。)
来自JLS 6.6.2(强调我的):
对象的受保护成员或构造函数可以通过负责实现该对象的代码从声明它的包外部访问。
换句话说,在声明它的包中,所有代码都可以访问它。