Допустим, есть класс Reader
public class Reader {
private final Library library;
public Reader(Library library) {
this.library = library;
}
public void read() {
library.read();
}
}
, который инициализируется с экземпляром Book
:
Reader reader = new Reader(new Book());
Тогда читатель не сможет прочитать книгу, поскольку его метод read
не виден в контексте Reader
. Reader
может получить доступ к методу Library
read
, но не может получить доступ к методу Book
read
, что довольно странно, да?