Properties
A constructor defines how to initialize "that" (abstract) class. Thus, the constructor cannot be:
1. final
2. abstract
3. static
Also, constructor cannot be synchronized. See reference 2.
References:
1. http://stackoverflow.com/questions/9477476/why-constructors-cannot-be-final
2. http://stackoverflow.com/questions/4880168/why-cant-java-constructors-be-synchronized