[ Foro de Java ]

Constructor por defecto

25-Nov-2019 11:47
Invitado (M? Jos?)
1 Respuestas

¿Puedo tener en java un programa con un solo constructor al cual le paso por parámetro algunos valores para inicializar atributos y asignar otros atributos directamente a sus valores por defecto? o bien debo tener siempre un constructor sin parámetros para inicializar todos los atributos a sus valores por defecto y otro constructor donde paso por parámetro aquellos atributos a los cuales quiero asignar valores diferentes a los que tiene por defecto?
Ejm:
Debe ser así forzosamente


public class Maquina{
private int existencias;
private int precio;
private String producto;
private int ganancias;
public Maquina(){
existencias=0;
precio=0;
producto="";
ganancias=0;
}
public Maquina(int precio, String producto){
this();
this.precio=precio;
this.producto=producto;
}


¿Podría ser sin el constructor por defecto?


public class Maquina{
private int existencias;
private int precio;
private String producto;
private int ganancias;

public Maquina(int precio, String producto){
this.precio=precio;
this.producto=producto;
existencia=0;
ganancias=0;
}


Gracias


25-Nov-2019 14:29
Nacho Cabanes (+68)

En principio, claro que puedes. Si pruebas ese fragmento de programa, verás que compila sin problemas (bueno, tiene un par de errores poco importantes)

Pero en un uso real, depende de si hay otras clases que usan esa, y más aún si heredan de ella.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)