Path "Path, по большому счету, — это переработанный аналог класса File. Работать с ним значительно проще, чем с File. Во-первых, из него убрали многие утилитные (статические) методы, и перенесли их в класс Files. Во-вторых, в Path были упорядочены возвращаемые значения методов. В классе File методы возвращали то String, то boolean, то File — разобраться было непросто. Например, был метод getParent(), который возвращал родительский путь для текущего файла в виде строки. Но при этом был метод getParentFile(), который возвращал то же самое, но в виде объекта File! Это явно избыточно. Поэтому в интерфейсе Path метод getParent() и другие методы работы с файлами возвращают просто объект Path. Никакой кучи вариантов — все легко и просто." (c) Professor Hans Noodles Помогите понять последний абзац, пожалуйста. Когда метод возвращает
int // или
String // или
boolean // понятно
эти типы будут содержать в себе или строку или число или true false. Но когда метод возвращает тип какого-то класса, к примеру тот же Path, я совсем не догоняю, что хранит в себе это переменная типа Path или любого другого класса, с которыми я не привык работать (int, byte, short, String и т.д.) 😐 Ну да, ссылку на какой-то объект, наверное, но зачем, и как это можно использовать, у меня пока плохо укладывается в голове. Объясните, плиз.