Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
728 views
in Technique[技术] by (71.8m points)

access modifiers - Equivalent of internal in java

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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...