¿Java pasa la matriz por referencia a un método??

¿Java pasa la matriz por referencia a un método??
¿Java pasa la matriz por referencia a un método?? Sí, y esa es la única forma de pasar una matriz a una función en Java. En Java, una función se llama método, y es miembro de una clase. Más buenas noticias! Un método en Java puede devolver una matriz, y esto es por referencia. El identificador de la matriz es una referencia.

Recordar: un archivo de programa Java típico tiene una clase principal con el método Main (). El nombre del método principal es principal. Sin embargo, el nombre de la clase principal no es el principal. Es el nombre elegido por el programador. También es el nombre del archivo. Esta clase principal puede tener otros miembros (propiedades y funciones). Otras clases fuera de la clase principal pueden tener sus propiedades y métodos. En este artículo, el método principal no se refiere a pasar y devolver la matriz. En Java, una propiedad se llama campo.

Este artículo ilustra cómo pasar una matriz a un método y devolver una matriz de un método por referencia. La clase de matriz no necesita importarse para este programa.

Método en una clase separada

Pasando por referencia

En esta sección del artículo, el método para recibir la matriz está en una clase separada, no en la clase principal. Un ejemplo de tal clase es:

Clase Aclass
char func (char [] chs)
devolver chs [2];

El nombre de esta clase adicional es el aclasa. Tiene solo un miembro, que es un método. El nombre del método es funcional. Tiene solo un parámetro, que es una declaración de matriz. Devuelve un char. El personaje devuelto está en la tercera posición de la matriz recibida (índice 2).

En el método Main (), se puede emplear el siguiente segmento de código:

char [] arr = 'a', 'b', 'c', 'd';
Aclass obj = new Aclass ();
char ret = obj.func (arr);
Sistema.afuera.println (ret);

La primera declaración en este segmento de código define la matriz. La segunda declaración declara el objeto, obj de la clase, aclass. La siguiente declaración llama al método del objeto, con el nombre de la matriz (referencia) como argumento. La última declaración imprime el tercer carácter (índice 2) de la matriz recibida por el método llamado. La salida sería c.

Estos dos segmentos de código muestran cómo se pasa una matriz a un método por referencia.

Volver por referencia

La clase anterior se modifica para que el método devuelva una matriz por referencia, de la siguiente manera:

Clase Aclass
char [] func (char [] chs)
devolver chs;

La expresión de retorno en la firma del método es char [] y ya no, justo, char. La expresión de retorno de la declaración de retorno ahora es el nombre de la matriz en el parámetro y ya no es un elemento de matriz.

El segmento de código correspondiente en el método main () se modifica para ser:

char [] arr = 'a', 'b', 'c', 'd';
Aclass obj = new Aclass ();
char [] ret = obj.func (arr);
Sistema.afuera.println (ret [2]);

El tipo de devolución de la llamada del método es una matriz y no solo Char. La matriz todavía se pasa como argumento de la misma manera que antes. La última declaración aquí imprime un valor de elemento de la matriz de retorno.

Los dos programas anteriores muestran cómo se puede aprobar una matriz por referencia y cómo se puede devolver una matriz por referencia.

Método en la clase principal

Pasando por referencia

En esta sección del artículo, el método de recibir la matriz está en la clase principal, no en una clase separada. Un ejemplo de dicho método es:

static char func (char [] chs)
devolver chs [2];

Observe que el método de interés ahora es estático porque se llamará desde el método principal que también es estático y también está en la clase principal. El nombre del método es funcional. Tiene solo un parámetro, que es una declaración de matriz. Devuelve un char. El personaje devuelto está en la tercera posición de la matriz recibida (índice 2).

En el método main (), que es estático, se puede emplear el siguiente segmento de código:

char [] arr = 'a', 'b', 'c', 'd';
char ret = func (arr);
Sistema.afuera.println (ret);

La salida sería c. La primera declaración en este segmento de código define la matriz. No se declara ningún objeto aquí, ya que no hay clase separada. La siguiente declaración llama al mismo método de clase, la clase principal, con el nombre de la matriz (referencia) como argumento. La última declaración imprime el tercer carácter (índice 2) de la matriz recibida por el método llamado.

Estos dos segmentos de código muestran cómo se pasa una matriz a un método por referencia.

Volver por referencia

El método anterior se modifica para devolver una matriz por referencia, de la siguiente manera:

static char [] func (char [] chs)
devolver chs;

La expresión de retorno en la firma del método es "char [] estático" y ya no "char static". La expresión de retorno de la declaración de retorno ahora es el nombre de la matriz en el parámetro y ya no es un elemento de matriz.

El segmento de código correspondiente en el método main () se modifica para ser:

char [] arr = 'a', 'b', 'c', 'd';
char [] ret = func (arr);
Sistema.afuera.println (ret [2]);

La primera declaración aquí es la declaración de la matriz. El tipo de devolución de la llamada del método es una matriz y no solo Char. La matriz todavía se pasa como argumento de la misma manera que antes. La última declaración imprime un valor de elemento de la matriz de retorno.

Estos dos programas muestran cómo se puede aprobar una matriz por referencia y cómo se puede devolver una matriz por referencia.

Conclusión

Sí, y esa es la única forma de pasar una matriz a un método en Java: declare el parámetro como una matriz y use el nombre de la matriz en la llamada del método. En Java, una función se llama método, y es miembro de una clase. Más buenas noticias! Un método (en Java) puede devolver una matriz, que también es por referencia. El identificador (nombre) de la matriz es una referencia. Deje que la definición del método (implementación) tenga el tipo de matriz, como parámetro, en la firma del método para lograrlos. La expresión para la declaración de retorno en la definición del método es solo el nombre de la matriz. La expresión de retorno para la firma del método es el tipo de matriz. La expresión receptora debe ser del tipo de matriz en la instrucción de llamada de método.