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