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() {} // Виден в модула
}