Sobes.tech
Junior

Java və Kotlin-də giriş modifikatorları haqqında danış.

sobes.tech Süni İntellekt

AI-dan cavab

Java-da:

  • public: hər yerdən əlçatandır.
  • protected: sinif daxilində, paket və alt siniflərdə əlçatandır.
  • (modifikator olmadan): paket daxilində əlçatandır (package-private).
  • private: yalnız sinif daxilində əlçatandır.

Kotlin-də:

  • public: hər yerdən əlçatandır (standart).
  • internal: modul daxilində əlçatandır.
  • protected: sinif və onun alt sinifləri daxilində əlçatandır (Java-dan fərqli olaraq paket daxilində əlçatanlıq təmin etmir).
  • private: yalnız sinif/fayl daxilində əlçatandır.

Fərqlər:

  • Kotlin-də "package-private" modifikatoru yoxdur, onun analoqu internal-dir və fərqli bir sahəyə (modul) malikdir.
  • Kotlin-də protected Java-dakı kimi paket daxilində əlçatanlıq təmin etmir.
  • Kotlin-də private həmçinin fayldakı top-level elanlar üçün istifadə oluna bilər və yalnız bu fayl daxilində əlçatan edir.
// Kotlin-də nümunə
package com.example.myapp

private const val API_KEY = "secret" // Yalnız bu faylda görünür

class MyClass {
    private val internalState = 1 // Yalnız MyClass daxilində görünür
    protected fun protectedMethod() {} // MyClass və onun alt siniflərində görünür
    internal fun internalMethod() {} // Modul daxilində görünür
}