title: Use 'this' keyword to call the base constructor and using method calls to set the private members
body: <p>Just a few questions:</p>
  
  <p>1) If you have a super class Monster and you create a subclass that inherits its behaviour. Its it good practice to call <code>super</code> in every constructor in the <code>subclass</code>. What I have done below is call it once in the first overloaded constructor and in the second overloaded constructor I call the first using <code>this(..)</code> Is this the best practice?</p>
  
  <p>2) Is it better to use the method calls i.e <code>setHealthAid(10)</code> to set the class fields of use assignment instead i.e.</p>
  
  <pre><code>mHealthAid = -1;
  mHasInvisibleMode = false;
  </code></pre>
  
  <p>class snippet without the implementation of getters and setters to make this short.</p>
  
  <pre><code>public class Monster {  
      private int mStrength;  
      private int mScareFactor;   
  
      public Monster(int strength, int scareFactor) {     
          setStrength(strength);      
          setScareFactor(scareFactor);    
      }   
  
      /* Getters and setters */
  }
  
  public class BigBoss extends Monster {  
      private int mHealthAid; 
      private boolean mHasInvisibleMode;  
  
      public BigBoss(int strength, int scareFactor) {     
          super(strength, scareFactor);       
          setHealthAid(-1);       
          setHasInvisibleMode(false);     
      }       
      public BigBoss(int strength, 
                     int scareFactor, 
                     int healthAid, 
                     boolean hasInvisibleMode) {      
         this(strength, scareFactor);     
         setHealthAid(healthAid);     
         setHasInvisibleMode(hasInvisibleMode);   
      }   
  
      /* Getters and setters */
  }
  </code></pre>
  
  <p>Many thanks for any suggestions,</p>