Core Java
Java provides a default constructor which takes no arguments.
Constructor arguments provide you with a way to provide parameters for the initialization of an object
In a constructor, you have the freedom to write as much code as needed to calculate an initial value
Java provides a default constructor, the only action taken by the implicit default constructor is to call the superclass constructor using the super()