Class | Package | Subclass (same pkg) |
Subclass (diff pkg) |
World | |
---|---|---|---|---|---|
public |
+ | + | + | + | + |
protected |
+ | + | + | + | |
no modifier (package access) | + | + | + | ||
private |
+ |
package access — Это есть уровень доступа в пределах пакета. Его еще называют доступ по умолчанию. Такой уровень доступа устанавливается, если явным образом не задан private, protected или public.
Видимость при наследовании
Тот же пакет, но другой класс | Другой пакет, класс унаследован | Другой пакет, другой класс, package1 экспортирован | Другой пакет, другой класс, package1 не экспортирован | |
---|---|---|---|---|
package p1; |
package p1; |
package p2; |
package p2; |
package p3; |
class A { |
class B { |
class C extends A { |
class D { |
class E { |
private int i; |
— | — | — | — |
int j; |
+ | — | — | — |
protected int k; |
+ | + | — | — |
public int m; |
+ | + | + | — |
} |
} |
} |
} |
} |
+ доступ есть, — доступа нет.