Husk: En typisk Java -programfil har en hovedklasse med Main () -metoden. Navnet på hovedmetoden er hoved. Navnet på hovedklassen er imidlertid ikke det viktigste. Det er navnet valgt av programmereren. Det er også navnet på filen. Denne hovedklassen kan ha andre medlemmer (egenskaper og funksjoner). Andre klasser utenfor hovedklassen kan ha sine egenskaper og metoder. I denne artikkelen er ikke hovedmetoden opptatt av å bestå og returnere matrisen. I Java kalles en eiendom et felt.
Denne artikkelen illustrerer hvordan du gir en matrise til en metode og returnerer en matrise fra en metode som referanse. Array -klassen trenger ikke å importeres for dette programmet.
Metode i en egen klasse
Passerer med referanse
I denne delen av artikkelen er metoden for å motta matrisen i en egen klasse, ikke hovedklassen. Et eksempel på en slik klasse er:
klasse aclassNavnet på denne ekstra klassen er aclass. Den har bare ett medlem, som er en metode. Navnet på metoden er func. Den har bare en parameter, som er en array -erklæring. Det returnerer en røye. Karakteren som returneres er på den tredje posisjonen til mottatt matrise (indeks 2).
I Main () -metoden kan følgende kodesegment brukes:
char [] arr = 'a', 'b', 'c', 'd';Den første uttalelsen i dette kodesegmentet definerer matrisen. Den andre uttalelsen erklærer objektet, obj fra klassen, ACLASS. Neste uttalelse kaller metoden for objektet, med array -navnet (referanse) som argument. Den siste uttalelsen skriver ut det tredje tegnet (indeks 2) av matrisen mottatt av metoden som heter. Utgangen ville være C.
Disse to kodesegmentene viser hvordan en matrise sendes til en metode som referanse.
Returnerer med referanse
Ovennevnte klasse er modifisert for metoden for å returnere en matrise som referanse, som følger:
klasse aclassReturuttrykket i metodesignaturen er røye [] og ikke lenger, rettferdig, røye. Returuttrykket for returuttalelsen er nå navnet på matrisen i parameteren og er ikke lenger et arrayelement.
Det tilsvarende kodesegmentet i Main () -metoden er modifisert for å være:
char [] arr = 'a', 'b', 'c', 'd';Returtypen for metodesamtalen er en matrise og ikke bare røye. Arrayen blir fremdeles bestått som et argument på samme måte som før. Den siste uttalelsen her skriver ut en elementverdi av returarrayen.
Ovennevnte to programmer viser hvordan en matrise kan sendes ved referanse og hvordan en matrise kan returneres ved referanse.
Metode i hovedklasse
Passerer med referanse
I denne delen av artikkelen er metoden for å motta matrisen i hovedklassen, ikke i en egen klasse. Et eksempel på en slik metode er:
statisk char func (char [] chs)Legg merke til at metoden for interesse nå er statisk fordi den vil bli kalt fra hovedmetoden som også er statisk og også er i hovedklassen. Navnet på metoden er func. Den har bare en parameter, som er en array -erklæring. Det returnerer en røye. Karakteren som returneres er på den tredje posisjonen til mottatt matrise (indeks 2).
I Main () -metoden, som er statisk, kan følgende kodesegment brukes:
char [] arr = 'a', 'b', 'c', 'd';Utgangen ville være C. Den første uttalelsen i dette kodesegmentet definerer matrisen. Ingen objekter er erklært her, da det ikke er noen egen klasse. Den neste uttalelsen kaller den samme klassemetoden, hovedklassen, med matrisenavnet (referanse) som et argument. Den siste uttalelsen skriver ut det tredje tegnet (indeks 2) av matrisen mottatt av metoden som heter.
Disse to kodesegmentene viser hvordan en matrise sendes til en metode som referanse.
Returnerer med referanse
Ovennevnte metode er modifisert, for å returnere en matrise som referanse, som følger:
statisk char [] func (char [] chs)Returuttrykket i metodesignaturen er "statisk røye []" og ikke lenger "statisk røye". Returuttrykket for returuttalelsen er nå navnet på matrisen i parameteren og er ikke lenger et arrayelement.
Det tilsvarende kodesegmentet i Main () -metoden er modifisert for å være:
char [] arr = 'a', 'b', 'c', 'd';Den første uttalelsen her er erklæringen om matrisen. Returtypen for metodesamtalen er en matrise og ikke bare røye. Arrayen blir fremdeles bestått som et argument på samme måte som før. Den siste uttalelsen skriver ut en elementverdi av returarrayen.
Disse to programmene viser hvordan en matrise kan sendes ved referanse og hvordan en matrise kan returneres ved referanse.
Konklusjon
Ja, og det er den eneste måten å overføre en matrise til en metode i Java: erklære parameteren som en matrise, og bruk matrisenavnet i metodesamtalen. I Java kalles en funksjon en metode, og den er medlem av en klasse. Flere gode nyheter! En metode (i Java) kan returnere en matrise, som også er med referanse. Identifikatoren (navnet) på matrisen er en referanse. La metodedefinisjonen (implementering) ha array -typen, som en parameter, i metodesignaturen for å oppnå disse. Uttrykket for returuttalelsen i metodedefinisjonen er bare array -navnet. Returuttrykket for metodesignaturen er array -typen. Mottaksuttrykket skal være av matrise -typen i metodens anropserklæring.