2. En Java los objetos se crean invocando constructores utilizando el operador new.
En Java no hay forma de crear objetos sin la invocación de constructores.
Cada clase (concretas y abstractas) en Java tiene un constructor por default el cual es agregado por la maquina virtual.
Si en una clase Java se declara un constructor entonces el constructor por default que agrega Java es invalidado.
Los constructores no tienen tipo de retorno y pueden tener cualquier modificador de acceso.
Los constructores deben tener el mismo nombre de la clase.
3. Todos los constructores invocan por default el constructor de la clase padre, si no existe el constructor por default en la clase padre entonces se debe invocar el constructor que fue definido explícitamente.
Solo variables o métodos estáticos pueden ser utilizados como argumentos de super() o this().
Las clases abstractas también tienen constructores y estos son invocados cuando se crean objetos de la clase concreta que la extiende.
Las interfaces no tienen constructores.
Un constructor solo puede ser invocado dentro de otro constructor.
Los constructores se pueden sobrecargar y pueden recibir argumentos.