I'm not able to get exactly why this code gives an output 0?
public class Poly
{
    public static void main(String[] args)
    {
        Square sq=new Square(10);
    }
}
class Square 
{
    int side;
    Square(int a)
    {
        side=a;
    }
    {
        System.out.print("The side of square is : "+side);
        System.out.println();
    }
}
What I want to ask-
Why it is showing output 0,and not 10?
Why Instance Initialization Block is initializing first and then constructors?