I do not understand why the below code displays the error Constructor call must be the first statement in a constructor if I shift this(1); to the last line in the constructor.
package learn.basic.corejava;
public class A {
    int x,y;
    A()
    {     
        // this(1);// ->> works fine if written here
        System.out.println("1");
        this(1);  //Error: Constructor call must be the first statement in a constructor
    }
    A(int a)
    {
        System.out.println("2");
    }
    public static void main(String[] args) { 
        A obj1=new A(2);  
    }   
}
I've checked many answers on this topic on StackOverflow but I still could not understand the reason for this. Please help me to make clear about this error with some easy example and explanation.