title: How to best explain and use empty Constructors in Java?
body: <p>I have been self-learning Java. I understand the scope of defining a class, but still didn't get the concept of an empty constructor usage.<br>
  Usually we should pass parameters for constructor to build instance object. But, I often see empty parameter for constructor. For example: </p>
  
  <pre><code> class Person {
     String name;
         int age; 
  
   public Person();
  
   public Person(String name, int age){
       this.name = name;
       this.age = age;
       } 
   }
  </code></pre>
  
  <p>I researched and read an example that using a class "fish" to explain. So, this is what I understood so far: when defining a class, we first define properties for an object, then we create a constructor that will build the object with methods. Empty constructor build GENERIC object, and constructor with parameters build objects with more specific information. Let’s say the example above, if I create an instance object using the empty constructor: </p>
  
  <pre><code>Person p1 = new Person();  
  </code></pre>
  
  <p>-- it will still create an object but without any properties in it? 
  So, what exactly the empty constructor is used for? I saw it in a lot of example codes. Is it very useful/common?</p>
  
  <p>Thanks for looking and answering! </p>