Day115 — Visibility Modifier
1 min readOct 9, 2019
Java
Default is package-private.
______________________________________________________________
| │ Class │ Package │ Subclass │ Subclass │ World |
| │ │ │(same pkg)│(diff pkg)│ |
|───────────┼───────┼─────────┼──────────┼──────────┼────────|
|public │ + │ + │ + │ + │ + |
|───────────┼───────┼─────────┼──────────┼──────────┼────────|
|protected │ + │ + │ + │ + │ |
|───────────┼───────┼─────────┼──────────┼──────────┼────────|
|no modifier│ + │ + │ + │ │ |
|───────────┼───────┼─────────┼──────────┼──────────┼────────|
|private │ + │ │ │ │ |
|___________|_______|_________|__________|__________|________|
+ : accessible blank : not accessible
Kotlin
There are four visibility modifiers in Kotlin: private, protected, internal and public. The default visibility, used if there is no explicit modifier, is public.