Java passa a matriz por referência a um método?

Java passa a matriz por referência a um método?
Java passa a matriz por referência a um método? Sim, e essa é a única maneira de passar uma matriz para uma função em Java. Em Java, uma função é chamada de método e é membro de uma classe. Mais boas notícias! Um método em Java pode retornar uma matriz, e isso é por referência. O identificador da matriz é uma referência.

Lembre -se: um arquivo de programa Java típico tem uma classe principal com o método principal (). O nome do método principal é principal. No entanto, o nome da classe principal não é o principal. É o nome escolhido pelo programador. É também o nome do arquivo. Esta classe principal pode ter outros membros (propriedades e funções). Outras classes fora da classe principal podem ter suas propriedades e métodos. Neste artigo, o método principal não está preocupado em passar e retornar a matriz. Em Java, uma propriedade é chamada de campo.

Este artigo ilustra como passar uma matriz para um método e retornar uma matriz de um método por referência. A classe da matriz não precisa ser importada para este programa.

Método em uma classe separada

Passando por referência

Nesta seção do artigo, o método para receber a matriz está em uma classe separada, não na classe principal. Um exemplo dessa classe é:

classe Aclass
char func (char [] chs)
retornar CHS [2];

O nome desta classe extra é Aclass. Tem apenas um membro, que é um método. O nome do método é func. Tem apenas um parâmetro, que é uma declaração de matriz. Ele retorna um char. O personagem retornado está na terceira posição da matriz recebida (índice 2).

No método Main (), o seguinte segmento de código pode ser empregado:

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

A primeira declaração neste segmento de código define a matriz. A segunda declaração declara o objeto, obj da classe, Aclass. A próxima declaração chama o método do objeto, com o nome da matriz (referência) como argumento. A última declaração imprime o terceiro caractere (índice 2) da matriz recebida pelo método chamado. A saída seria C.

Esses dois segmentos de código mostram como uma matriz é passada para um método por referência.

Retornando por referência

A classe acima é modificada para que o método retorne uma matriz por referência, como segue:

classe Aclass
char [] func (char [] chs)
retornar chs;

A expressão de retorno na assinatura do método é char [] e não mais, apenas, char. A expressão de retorno da declaração de retorno agora é o nome da matriz no parâmetro e não é mais um elemento de matriz.

O segmento de código correspondente no método Main () é modificado para ser:

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

O tipo de retorno da chamada do método é uma matriz e não apenas char. A matriz ainda é passada como um argumento da mesma maneira que antes. A última declaração aqui imprime um valor de elemento da matriz de retorno.

Os dois programas acima mostram como uma matriz pode ser passada por referência e como uma matriz pode ser retornada por referência.

Método na classe principal

Passando por referência

Nesta seção do artigo, o método de receber a matriz está na classe principal, não em uma classe separada. Um exemplo desse método é:

estático char func (char [] chs)
retornar CHS [2];

Observe que o método de interesse agora é estático porque será chamado do método principal que também é estático e também na classe principal. O nome do método é func. Tem apenas um parâmetro, que é uma declaração de matriz. Ele retorna um char. O personagem retornado está na terceira posição da matriz recebida (índice 2).

No método Main (), que é estático, o seguinte segmento de código pode ser empregado:

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

A saída seria C. A primeira declaração neste segmento de código define a matriz. Nenhum objeto é declarado aqui, pois não há classe separada. A próxima declaração chama o mesmo método de classe, a classe principal, com o nome da matriz (referência) como argumento. A última declaração imprime o terceiro caractere (índice 2) da matriz recebida pelo método chamado.

Esses dois segmentos de código mostram como uma matriz é passada para um método por referência.

Retornando por referência

O método acima é modificado, para retornar uma matriz por referência, como segue:

estático char [] func (char [] chs)
retornar chs;

A expressão de retorno na assinatura do método é "char estático []" e não é mais "char estático". A expressão de retorno da declaração de retorno agora é o nome da matriz no parâmetro e não é mais um elemento de matriz.

O segmento de código correspondente no método Main () é modificado para ser:

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

A primeira declaração aqui é a declaração da matriz. O tipo de retorno da chamada do método é uma matriz e não apenas char. A matriz ainda é passada como um argumento da mesma maneira que antes. A última declaração imprime um valor de elemento da matriz de retorno.

Esses dois programas mostram como uma matriz pode ser passada por referência e como uma matriz pode ser retornada por referência.

Conclusão

Sim, e essa é a única maneira de passar uma matriz para um método em Java: Declare o parâmetro como uma matriz e use o nome da matriz na chamada do método. Em Java, uma função é chamada de método e é membro de uma classe. Mais boas notícias! Um método (em Java) pode retornar uma matriz, que também é por referência. O identificador (nome) da matriz é uma referência. Que a definição do método (implementação) tenha o tipo de matriz, como um parâmetro, na assinatura do método para alcançar isso. A expressão para a declaração de retorno na definição do método é apenas o nome da matriz. A expressão de retorno para a assinatura do método é o tipo de matriz. A expressão receptora deve ser do tipo de matriz na declaração de chamada de método.