below program very much confusion about constructor calling very new to java,please explain the concept clearly
<pre><code>   class Machine {

     private String name;
     private int code;

     public Machine(){
        this("back",1);
        System.out.println("constructor working!!!!");        
     }

     public Machine(String name){
        this("jick",1);
        System.out.println("Second constructor!!!");
        this.name = name;
     }

     public Machine(String name, int code){
      // this(); compile time error
       //this("back"); //compile time error
           System.out.println("third constructor");
           this.name = name;
            this.code = code;
     }
   }

   public class Constructoroverloading{

     public static void main(String[] args) {
      //Machine m1 = new Machine();
      // Machine m2 = new Machine("shruthi");
      // Machine m3 = new Machine("shruthi",20);
    }
 }
</code></pre>

<p>Here is the program i wrote, i have a doubt that why my third constructor is not able to call first and second constructors. when i tried to call the first or second constructor,compiler is showing that recursive invocation error, i don't really understood the concept clearly and why i am getting that compile time error.</p>