Да, внутренний класс имеет полный доступ ко всем членам внешнего класса, включая закрытые (private) и защищенные (protected) члены. Внутренние классы создаются в контексте внешнего класса и являются своего рода членом внешнего класса. Как таковые, они могут свободно обращаться к нестатическим полям и методам внешнего класса, используя ключевое слово this. Они также могут использовать все другие модификаторы доступа, такие как private, protected и public, для получения доступа к членам внешнего класса...
1. Введение Проще говоря, язык Kotlin позаимствовал ряд концепций из других функциональных языков, чтобы помочь в написании более безопасного и удобочитаемого кода. Одной из таких концепций являются закрытые иерархии. 2. Что такое закрытый класс? Закрытые классы позволяют нам фиксировать иерархии типов и запрещать разработчикам создавать новые подклассы.
Они полезны, когда у нас очень строгая иерархия наследования, с определенным набором возможных подклассов и никакими другими. Начиная с Kotlin 1...