Middle+
Kotlin-də həyata keçirilmiş obyektin daxili (internal) sahəsinə Java kodundan müraciət edilsə, nə baş verər?
sobes.tech Süni İntellekt
AI-dan cavab
Təhlil xətası baş verəcək.
// Kotlin kodu
class MyClass {
internal val internalProperty: String = "Daxili dəyər"
}
// Java kodu daxili xüsusiyyətə giriş etməyə çalışır
public class JavaClass {
public void accessInternalProperty() {
MyClass myObject = new MyClass();
// Bu sətir tərtib xətasına səbəb olacaq
// System.out.println(myObject.internalProperty);
}
}
Kotlin-də internal görünürlüğü, sinif üzvünün yalnız eyni modul daxilində görünə biləcəyini ifadə edir. Java baxımından, bu, package-private görünürlüğünə bənzəyir, lakin Kotlin-in tərtib modulundakı bütün sinflər üçün keçərlidir və yalnız eyni paketlə məhdudlaşmır. Java tərtibçisi, digər modullardan (hətta eyni paketdə olsa belə) Kotlin-in internal üzvlərinə birbaşa girişə malik deyil, bu da tərtib xətasına səbəb olur. Kotlin tərtibçisi, internal üzvlər üçün modul adını daxil edən xüsusi adlar yaradır və bu, moduldən kənar girişləri qarşısını alır.