Начал не так давно изучать язык JAVA. Просматривая разные туториалы и примеры программ, неоднократно сталкиваюсь с непонятными для меня конструкциями. Нигде не могу найти объяснение такого кода.
Подскажите в какую сторону копать или хотя-бы как это называется? В настоящее время я вижу это, как мы создаем объект и передаем в его конструктор другой объект, в котором мы вызываем метод.
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
Так и есть, при создании объекта в конструктор могут передаваться другие объекты, в Java это обычное дело. В данном случае происходит следующее:
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
можно написать
Stream stream = socket.getInputStream();
InputStreamReader reader = new InputStreamReader(stream);
BufferedReader in = new BufferedReader(reader);
Тогда Вы увидите, что утверждение
передаем в его конструктор другой объект, в котором мы вызываем метод
неверно.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей