CODIGO JAVA
public class A {
public U Libro() {
return new U() {
public void dibujar() {
System.out.println("Se esta dibujando");
}
public void pintar() {
System.out.println("Se esta pintando");
}
public void recortar() {
System.out.println("Se esta recortando");
}
};
}
}
B.java
public class B {
U[] arregloA = new U[10];
public void reference (U ref, int i) {
arregloA[i]=ref;
}
public U Dreference(int i) {
arregloA[i]=null;
return arregloA[i];
}
public void RegresarMetU() {
for (int i=0; i<5; i++) {
arregloA[i].dibujar();
arregloA[i].pintar();
arregloA[i].recortar();
}
}
}
U.java
public interface U {
void dibujar();
void pintar();
void recortar();
}
U_Main.java
public class U_Main {
public static void main(String[] args) {
A a = new A();
A a1 = new A();
A a2 = new A();
A a3 = new A();
A a4 = new A();
B b = new B();
b.reference(a.Libro(), 0);
b.reference(a1.Libro(), 1);
b.reference(a2.Libro(), 2);
b.reference(a3.Libro(), 3);
b.reference(a4.Libro(), 4);
b.RegresarMetU();
System.out.println(b.Dreference(3));
System.out.println(b.Dreference(0));
}
}