Junior
Vertel over toegangsmutators in Java en Kotlin.
sobes.tech AI
Antwoord van AI
In Java:
public: toegankelijk vanaf elke plek.protected: toegankelijk binnen de klasse, het pakket en subklassen.- (zonder modifier): toegankelijk binnen het pakket (package-private).
private: alleen binnen de klasse toegankelijk.
In Kotlin:
public: toegankelijk vanaf elke plek (standaard).internal: toegankelijk binnen het module.protected: toegankelijk binnen de klasse en haar subklassen (verschilt van Java qua toegang binnen het pakket).private: alleen binnen de klasse/bestand toegankelijk.
Verschillen:
- In Kotlin bestaat de modifier "package-private" niet, het equivalente is
internalmet een andere scope (het module). - In Kotlin biedt
protectedgeen toegang binnen het pakket zoals in Java. - In Kotlin kan
privateook worden gebruikt voor top-level declaraties (functies, eigenschappen) in een bestand, waardoor ze alleen binnen dat bestand toegankelijk zijn.
// Voorbeeld in Kotlin
package com.example.myapp
private const val API_KEY = "secret" // Alleen zichtbaar in dit bestand
class MyClass {
private val internalState = 1 // Alleen zichtbaar binnen MyClass
protected fun protectedMethod() {} // Zichtbaar in MyClass en haar subklassen
internal fun internalMethod() {} // Zichtbaar binnen de module
}