Sobes.tech
Junior

Erzählen Sie über Zugriffsmodifikatoren in Java und Kotlin.

sobes.tech KI

Antwort von AI

In Java:

  • public: zugänglich von überall.
  • protected: zugänglich innerhalb der Klasse, des Pakets und der Unterklassen.
  • (ohne Modifikator): zugänglich innerhalb des Pakets (package-private).
  • private: nur innerhalb der Klasse zugänglich.

In Kotlin:

  • public: von überall zugänglich (Standard).
  • internal: innerhalb des Moduls zugänglich.
  • protected: innerhalb der Klasse und ihrer Unterklassen zugänglich (unterscheidet sich von Java bezüglich des Zugriffs im Paket).
  • private: nur innerhalb der Klasse/Datei zugänglich.

Unterschiede:

  • In Kotlin gibt es keinen "package-private"-Modifikator, sein Äquivalent ist internal mit einem anderen Geltungsbereich (Modul).
  • In Kotlin bietet protected keinen Zugriff innerhalb des Pakets wie in Java.
  • In Kotlin kann private auch für Top-Level-Deklarationen (Funktionen, Eigenschaften) in einer Datei verwendet werden, wodurch sie nur innerhalb dieser Datei zugänglich sind.
// Beispiel in Kotlin
package com.example.myapp

private const val API_KEY = "secret" // Nur in dieser Datei sichtbar

class MyClass {
    private val internalState = 1 // Nur innerhalb von MyClass sichtbar
    protected fun protectedMethod() {} // Sichtbar in MyClass und Unterklassen
    internal fun internalMethod() {} // Innerhalb des Moduls sichtbar
}