Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvOpSnIc 111 of 147 menu
◀ ▶

Внутренний класс в Java

Вложенный класс без модификатора static называют внутренним. У каждого объекта внешнего класса есть свой «контекст»: внутренний тип видит поля и методы того экземпляра, у которого его создали.

Запись Post хранит заголовок, а внутренний класс Comment читает его при формировании подписи:

class Post { String title; Post(String title) { this.title = title; } class Comment { String text; Comment(String text) { this.text = text; } String label() { return title + ": " + text; } } }

Создадим запись и ее комментарий, затем выведем подпись:

Post post = new Post("News"); Post.Comment comment = post.new Comment("Great read"); System.out.println(comment.label());

Объект внутреннего класса создают через внешний экземпляр: post.new Comment(...). Без переменной post такой тип создать нельзя.

Сделайте класс Employee с полем dept и внутренний класс Task с полем title. Метод Task.describe() возвращает строку dept, двоеточие и title. Создайте сотрудника "sales", задачу "report" и выведите describe().

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить