Zacznijmy od tego, że podejrzewam iż korzystasz z IDE. Okej to tego nie widzisz co się dzieje, kiedy uruchomisz program.
Masz kilka klas w jednym folderze.
To jest kod programu, który aby został wykonany najpierw przechodzi proces kompilacji -> w wyniku czego powstają pliki WYKONYWALNE... tak, aby maszyna Java mogła je następnie przetworzyć i uruchomić jako gotowy program.
Każda klasa, jest przez kompilator filtrowana "powiedzmy" i w wyniku właśnie utworzenia plików do wykonania-> powstają pliki *.class.
Jednak... każda klasa którą tworzysz, zanim uruchomisz program ma woja nazwe i jest plikiem, gdyż KLASA TO SZABLON, FORMAT.
Czyli masz klase samochód, to jest to tylko "szablon" na dane -> więc ten szablon, czyli opis tego jak ma zostać utworzony obiekt jest plikiem *java o nazwie tej klasy czyli Samochód.java
Pakiety- to jak foldery tworzą pewną hierarchię umiejscowienia klas, ja nie wiem co to jest za "tutorial", że takiej wiedzy nie potrafisz studiując go, bo to są podstawy.
przeglądnij folder w którym tworzysz klasy podczas pisania, to jest pakiet... w ogóle pomyśl ... skoro miejsce pliku jest w 3 folderze w środku to pakiet będzie Folder1.folder2.folder3 .... a pod pakietami będą folder2.folder3 dla folderu 1.
Logika. Ma to istotną rzecz w przypadku importów* ... gdyż chcąc w pakiecie FOLDER2 mieć dostęp do publicznej klasy z FOLDER3, musisz importować to podając jakby ścieżkę do miejsca gdzie jest ta klasa
https://www.tutorialcup.com/pl/java/packages-in-java.htm