Equivalent of internal in java

痞子三分冷 提交于 2019-11-30 22:45:51

问题


What is equivalent of internal access modifier available in C# for method in Java?

(I know default i.e. methods, variables without any scope are having package access but I am looking for keyword equivalent)

How can we achieve methods with protected internal scope in Java?


回答1:


There's no equivalent of an assembly in Java, so there can't be an equivalent of an access modifier which makes a member available within an assembly.

The closest you can get to internal is the default accessibility which is similar but based on package.

The closest you can get to protected internal is protected (but again based on package). Note that protected in Java also gives access to the package automatically - there's nothing in Java which is as restrictive as C#'s protected (in terms of only being available within subclasses).

From JLS 6.6.2 (emphasis mine):

A protected member or constructor of an object may be accessed from outside the package in which it is declared only by code that is responsible for the implementation of that object.

In other words, within the package in which it is declared, it's accessible to all code.



来源:https://stackoverflow.com/questions/20921365/equivalent-of-internal-in-java

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!