相当于java中的内部

2022-09-02 20:42:50

对于 Java 中的方法,C# 中可用的访问修饰符等效项是什么?internal

(我知道默认即方法,没有任何作用域的变量具有访问权限,但我正在寻找等效关键字)

我们如何在Java中实现具有范围的方法?protected internal


答案 1

Java 中没有与程序集等效的组件,因此不能有与访问修饰符等效的组件,该修饰符使成员在程序集中可用。

您可以获得的最接近的是默认可访问性,它相似但基于包。internal

您可以到达的最接近的是(但同样基于包)。请注意,在Java中自动提供对包的访问 - Java中没有任何东西像C#那样具有限制性(仅在子类中可用)。protected internalprotectedprotectedprotected

来自 JLS 6.6.2(强调我的):

可以从包外部访问对象的受保护成员或构造函数,在该包中,仅由负责实现该对象的代码声明该对象。

换句话说,在声明它的包中,所有代码都可以访问它。


答案 2

推荐