title: How do you override the parent constructor in Java?
body: <p>I currently have a class, let's call it Person, with a constructor like so.</p>
  
  <pre><code>public class Person
  {
      private String name;
  
      public Person(String name)
      {
          this.name = name;
          System.out.println("This person is: "+getName());
      }
  
      public String getName()
      {
          return this.name;
      }
  
      public void setName(String name)
      {
          this.name = name;
      }
  }
  </code></pre>
  
  <p>Then we inherit the class with a more specific type of Person, in this case an Employee.</p>
  
  <pre><code>public class Employee extends Person
  {
      private int id;
  
      public Employee(String name, int id)
      {
          super(name);
          this.id = id;
          System.out.println("This person is: "+getName()+", identified by #"+getId());
      }
  
      public int getId()
      {
          return this.name;
      }
  
      public void setId(int id)
      {
          this.id = id;
      }
  }
  </code></pre>
  
  <p>I am wanting to make it such that Employee prints it's own statement when the object is created, but instead it is printing both the print statement from Person and also from Employee. How can I override this statement to keep that from happening? Is there a better way to print to the console that will prevent this from occurring?</p>