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ə
protectedJava-dakı kimi paket daxilində əlçatanlıq təmin etmir. - Kotlin-də
privatehə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
}