[ Foro de Java ]
¿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
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.)