I got the following and could not make any sense out of it :
"Constructors can use any access modifier, including private. (A private
constructor means only code within the class itself can instantiate an object
of that type, so if the private constructor class wants to allow an instance
of the class to be used, the class must provide a static method or variable that
allows access to an instance created from within the class.)"
So basically no class other than Packed itself can create its object. So if you want other classes to have objects of Packed class, you must declare a static method in Packed which will return objects of Packed