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 и т.д.) 😐
Ну да, ссылку на какой-то объект, наверное, но зачем, и как это можно использовать, у меня пока плохо укладывается в голове.
Объясните, плиз.