Historically, this() or super() must be first in a constructor . This restriction was never popular, and perceived as arbitrary. There were a number of subtle reasons, including the verification of invokespecial, that contributed to this restriction.12 Mar 2017