All classes in Java are organized in packages. Packages in Java are used for grouping related classes and sub-packages together.
In the above package structure, SmartPhone class is placed under products folder, which is present within company, which is again part of com.
Members within a package are referred with all of its parent packages. We use import keyword to load class in another class.
Naming Conventions of Package
In Java, it is a standard practice to name the package all in lower case.
Reversed Domain Name
To maintain the uniqueness of your class you can name the package with your reversed domain name or website name (excluding www) of your organization.
Group of Groups
You can further separate various groups within the organization to maintain the uniqueness within organization.