¿Java es "pasar por referencia" o "pasar por valor"?

Siempre pensé que Java usa paso por referencia.

Sin embargo, he visto un par de publicaciones de blog (por ejemplo, este blog) que afirman que no lo es (la publicación del blog dice que Java usa paso por valor).

No creo que entiendo la distinción que están haciendo.

Cual es la explicacion

preguntado el 02 de septiembre de 08 a las 18:09

Más comúnmente diríamos que una variable "pasada por referencia" se puede mutar. El término aparece en los libros de texto porque los teóricos del lenguaje necesitaban una forma de distinguir cómo se tratan los tipos de datos primitivos (int, bool, byte) de los objetos complejos y estructurados (matriz, flujos, clase), es decir, aquellos de memoria posiblemente ilimitada. asignación. -

Quiero señalar que no tiene que pensar en esto en la mayoría de los casos. Programé Java durante muchos años hasta que aprendí C ++. Hasta este momento, no tenía ni idea de qué son el paso por referencia y el paso por valor. La solución intuitiva siempre funcionó para mí, por lo que Java es uno de los mejores lenguajes para principiantes. Entonces, si actualmente está preocupado, si su función necesita una referencia o un valor, simplemente páselo como está y estará bien. -

Java pasa la referencia por valor. -

Dicho de manera muy concisa, esta confusión surge porque en Java todos los tipos de datos no primitivos son manejados / accedidos por referencias. Sin embargo, pasar siempre es valioso. Entonces, para todos los tipos no primitivos, la referencia se pasa por su valor. Todos los tipos primitivos también se pasan por valor. -

Para los que vienen de C++ y empiece a confundirse al tocar Java, esto podría ayudar como atajo. -

0 Respuestas

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.