Sobes.tech
Junior

Java жана Kotlinдеги кирүү модификаторлору жөнүндө сөз кылыңыз.

sobes.tech AI

AIден жооп

Java-да:

  • public: бардык жерден жеткиликтүү.
  • protected: класс ичинде, пакеттерде жана муундарда жеткиликтүү.
  • (модификаторсуз): пакеттер ичинде жеткиликтүү (package-private).
  • private: гана класс ичинде жеткиликтүү.

Kotlin-да:

  • public: бардык жерден жеткиликтүү (өзүнчө, алдын ала белгиленген).
  • internal: модуль ичинде жеткиликтүү.
  • protected: класс жана анын муундарында жеткиликтүү (Java-дан айырмаланып, пакеттерде жеткиликтүүлүк камсыз кылбайт).
  • private: гана класс/файл ичинде жеткиликтүү.

Айырмачылыктар:

  • Kotlin-да "package-private" модификатору жок, анын ордуна internal колдонулат жана башка scope-у (модуль).
  • Kotlin-да protected Java-дагыдай пакеттерде жеткиликтүүлүк бербейт.
  • Kotlin-да private файлдагы жогорку деңгээлдеги билдирүүлөргө да колдонулушу мүмкүн, аларды гана ошол файлда жеткиликтүү кылат.
// Kotlin мисалы
package com.example.myapp

private const val API_KEY = "secret" // Бул файлда гана көрүнөт

class MyClass {
    private val internalState = 1 // MyClass ичинде гана көрүнөт
    protected fun protectedMethod() {} // MyClass жана анын муундарында көрүнөт
    internal fun internalMethod() {} // Модуль ичинде көрүнөт
}