No es obligatorio definir un
constructor para cada clase, y en caso de que no definamos ninguno el
compilador creará uno por nosotros sin parámetros ni instrucciones. Es decir,
como si se hubiese definido de esta forma:
<nombreTipo>()
{
}
Gracias a este constructor
introducido automáticamente por el compilador, si Coche es una
clase en cuya definición no se ha incluido ningún constructor, siempre será
posible crear uno nuevo usando el operador new así:
Coche c =
new Coche(); // Crea coche c llamando al constructor por defecto de Coche
Hay que tener en cuenta una cosa:
el constructor por defecto es sólo incluido por el compilador si no hemos
definido ningún otro constructor. Por tanto, si tenemos una clase en la que
hayamos definido algún constructor con parámetros pero ninguno sin parámetros
no será válido crear objetos de la misma llamando al constructor sin
parámetros, pues el compilador no lo habrá definido automáticamente. Por
ejemplo, con la última versión de la clase de ejemplo Persona
es inválido hacer:
Persona p =
new Persona(); // ERROR: El único constructor de persona toma 3 parámetros