Constructor Overload

Hi I was doing some R&D on Constructor of C# class . I found that when we use a public and a private constructor in the same class I must overload them . i.e the signature must be different. But when I place a static constructor I can place it with the same signature . The sample code is given bellow . Please tell me how it is possible.