Is static constructors are allowed in Java?

No, static constructors are not allowed in Java. Lets check from the example why?

public class Student
{
     /* below is a static constructor */
     public static Student()
     {
         System.out.println("Static Constructor of the class");
     }
     public static void main(String args[])
     {
         /* Now we are trying to create an Object of Student */
         Student student = new Student();
     }
}

Output: We will get the following exception.

“modifier static not allowed here”

Now let us check why static constructors are not allowed.

Everything that is marked as static belongs to the class only, for example static method cannot be inherited in the sub class because they belong to the class in which they have been declared. And in case of constructor chaining child class calls the constructor of parent class. If you declare a constructor as static in parent class then the child can not access it. Then the concept of inheritance will fail.

CORE JAVA CONSTRUCTOR