class Carta {
char c;
}
public class PasarObjetos {
static void f(Carta y) {
y.c = 'z';
}
public static void main(String[] args) {
Carta x = new Carta();
x.c = 'a';
System.out.println("1: x.c: " + x.c);
f(x);
System.out.println("2: x.c: " + x.c);
}
}
En muchos lenguajes de programación el método f( ) parecería estar haciendo una copia de su argumento Carta y dentro del ámbito del método. Pero una vez más, se está pasando una referencia, por lo que la línea:
y.c = 'z';
está, de hecho, cambiando el objeto fuera de f( ). La salida tiene el aspecto siguiente:
No hay comentarios:
Publicar un comentario