Äquivalent von intern in Java

7

Was ist äquivalent zu internal Zugriffsmodifizierer in C # für Methoden in Java?

(Ich kenne default , d. h. Methoden, Variablen ohne Bereich haben package access, aber ich suche nach Schlüsselwörtern)

Wie können wir Methoden mit protected internal scope in Java erreichen?

    
dbw 04.01.2014, 13:04
quelle

1 Antwort

24

Es gibt in Java kein Äquivalent einer Assembly, daher kann es kein Äquivalent eines Zugriffsmodifizierers geben, der ein Member in einer Assembly verfügbar macht.

Der nächste Zugriff auf internal ist die Standard-Zugriffsmöglichkeit, die ähnlich ist, aber auf dem Paket basiert.

Der nächstgelegene Wert von protected internal ist protected (aber wiederum basierend auf dem Paket). Beachten Sie, dass protected in Java auch automatisch auf das Paket zugreift - es gibt nichts in Java, das so restriktiv ist wie C # protected (in Bezug auf nur ) Unterklassen).

Von JLS 6.6.2 (Betonung meiner):

  

Auf ein geschütztes Member oder Konstruktor eines Objekts kann außerhalb des Pakets zugegriffen werden, in dem es deklariert ist , nur durch Code, der für die Implementierung dieses Objekts verantwortlich ist.

Mit anderen Worten, innerhalb des Pakets, in dem es deklariert ist, ist es für den gesamten Code zugänglich.

    
Jon Skeet 04.01.2014, 13:23
quelle

Tags und Links