Внутренний класс в 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().