Como algo que ayuda a aprender Java, que estoy tratando de hacer un programa con un constructor que crea "simp" (un simp no está relacionada código) los objetos, que tienen cada uno tres atributos. Hago estos objetos por un bucle a través de tres bucles de forma simultánea:
for(int i = 0; i < simpNames.size(); i++) {
Simp simp = new Simp(simpNames.get(i), simpOrigins.get(i), simpingLevels.get(i));
System.out.println(simp);
}
y la gestión de sus atributos a través de un constructor en otra clase Simp
. Estoy utilizando listas de ArrayList y aquí está mi constructor:
public Simp(String newName, String newOrigin, int newSimpingLevel) {
name = newName;
origin = newOrigin;
simpingLevel = newSimpingLevel;
}
Sin embargo, cada vez que ejecute la función, se da salida a "Simp @ 7cca494b, Simp @ 7ba4f24f, Simp @ 3b9a45b3" en tres líneas separadas.
¿Puede alguien decirme por qué está haciendo esto y cómo solucionarlo?
Usted está tratando de imprimir la dirección del objeto cuando se ejecuta: System.out.println(simp);
Si desea que los atributos de ese objeto puede utilizar
System.out.println(simp.name + “ “ + simp.origin);
Si los atributos son públicos (si son de carácter privado puede utilizar sus captadores correspondientes).