Claro, ahora si te entiendo.
Cuando creas un objeto en tiempo de ejecución, debes ligarlo a otro objeto que funcione como contenedor digamos. Esto es porque la variable asociada no esta registrada al objeto (no es una variable de clase) sino temporal. Por eso te decía que uses un objeto Vector.
Otra duda: el programa esta pensado para linea de comandos? Por eso dices de usar un for?
suponiendo esta declaración de Vector:
podemos usar esto:
boolean repetir=true;
while (repetir)
{
String marca
= //leer un dato de consola; int ruedas= //leer otro dato;
int modelo= //leer otro dato;
datos.add(new Auto(marca, ruedas, modelo));
System.
out.
println("¿Ha finalizado de ingresar datos? S - N "); char respuesta= //leer un caracter;
if (char=='S')
repetir=false;
}
Vector contiene Object. Por eso podemos añadir el objeto que creamos en ejecución de tipo Auto. Por herencia, todos los objetos son Object.
Para recuperar datos, como sabemos que todos los que contendremos seran de tipo Auto, no hay drama con el casting. Recorremos el Vector como si fuera un Arreglo, haciendo elc asting de Object a Auto:
for (int i=1; i<datos.size(); i++)
{
Auto temporal= (Auto)datos.elementAt(i); //casting
System.
out.
println("Auto Nº:" + i
); System.
out.
println(" Modelo:" + temporal.
obtenerMarca()); System.
out.
println(" Cant de Ruedas:" + temporal.
obtenerRuedas()); System.
out.
println(" Año:" + temporal.
obtenerAno()); System.
out.
println("--------------"); }