Java - Asignacion de referencias de arrays

 
Vista:

Asignacion de referencias de arrays

Publicado por Sergio (10 intervenciones) el 19/06/2010 13:48:17
public class Test {
public static void main(String... args) {
Foo[] foo = new Foo[3];
foo[0] = new Foo();
foo[1] = new Foo();
foo[2] = new Foo();

Bar[] bar1 = new Bar[3];
bar1[0] = new Bar();
bar1[1] = new Bar();
bar1[2] = new Bar();

// --> Error Bar[] bar = (Bar[])foo; // downcasting asignacion de referencia de array
Foo[] foo2 = bar1; // upcasting...

for(Foo f : foo2)
f.checkup();

for(Bar b : bar)
b.checkup();
}
}

class Foo {
public void checkup() {
System.out.println("Foo");
}
}

class Bar extends Foo {
public void checkup() {
System.out.println("Bar");
}
}

// Segun lo que veo para asignar una referencia que apunta a un array funciona
// mediante upcasting pero mediante downcasting no funciona

Alguien me puede desarrollar esto con palabras comprensibles soy novato...
Gracias por la ayuda si puede ser ...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder