Gå til innhold

Få tilgang til ein array i fleire klasser?


Anbefalte innlegg

Videoannonse
Annonse

Du kan jo lage get/set metoder i ene klassen, da er arrayet kun i ene klassen, mens det andre har tilgang til å legge til og hente verdier derfra gjennom get/set metodene. En annen måte er å sette arrayet public, da kan du nå det ved å skrive <navn på object>.<navn på array> en siste måte jeg kan komme på er ved å sende over arrayet til den andre klassen, det du da må huske på er å oppdatere i begge klassene når du oppdaterer i den ene, altså blir de to andre enklere.

 

Det som blir "penest" i mine øyne er helt klart å bruke get/set metoder. Kanskje også en remove metode hvis du skal fjerne noe fra arrayet. Men begge måtene er mulige måter å løse det på.

Lenke til kommentar

alt er ikke defalt public, default er "Package"

 

Problemet er at arrayen blir definert inne i main metoden. og er dermed utenfor scopet til klassen Test og blir da en lokal variabel i main.

 

Om du gjør slik blir det bedre.

 


public class Test{
 

  //må være static om du skal benytte den i main her (siden main er static)
  public static String[][] ost = new String[5][4];

  public static void main(){

        //do stuff

   }

   public String[][] getOst(){

       return ost;

   }

 

MEN å sette klasse variable (fields) til public er ikke noen bra måte å løse dette på(disse bør alltid være private)da det bryter enkapsuleringen av feltet. Benytt heller en getter som du ser over. da kan du hente referanse til arrayet med å kalle metoden getOst()

 

Kan hende du må definere arrayet som static siden du skal bruke det i en static metode, mener det er slik.

Endret av thpost
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...