Avatar billede themepark Nybegynder
15. juni 2005 - 23:38 Der er 5 kommentarer

Adgang til variabler i flere classes

Tja mit spørgsmål er jo meget simpelt, hvordan kan jeg bruge en variabel, jeg har erklæret i en class, i en anden class, uden at skulle erklære den igen?

Det skal siges, at mine classes blot laves med class, ingen public eller lignende, jeg aner ikke om det er derfor? :S

Venlig hilsen
Michael K. P.
Avatar billede arne_v Ekspert
15. juni 2005 - 23:42 #1
Hvis klasse1 har en reference til en instans af klasse2 så kan du kalde
public metoder i klasse2 og hente værdier påd en måde
Avatar billede mikkelbm Nybegynder
16. juni 2005 - 08:09 #2
Måden Arne nævner er at foretrække, men er det konstanter, altså variabler der ikke ændrer sig, eller fordi man har specielle behov, kan man gøre:

// a kan ikke ændres
public static final int a = 0;

eller

// b kan ændres
public static int b = 1;


Bemærk dog at både a og b vil være den samme instans, uanset hvor mange forskellige instanser du har lavet, af objektet der indeholder disse variabler.
Avatar billede themepark Nybegynder
16. juni 2005 - 22:01 #3
Hmm...jeg er ikke helt med, må jeg indrømme, de ting lod ikke til at virke :(

Lad mig prøve at give et eksempel på min kode:

class Klasse1
    static byte Variabel1;
    public static void main(String[] args) {
        Metode();
        new Klasse2();
    }
   
    public static void Metode() {
        Variabel1=10;
    }

class Klasse2 extends JFrame {
    public SudokuSpil() {
        System.out.println(Variabel1);
    }
}

Det drejer sig egentlig bare om at jeg har nogle variabler, som jeg skal bruge i begge klasser, men som ikke må blive initialiseret begge gange, da jeg skal bruge værdien i Klasse2 til at beregne noget :)
Avatar billede sfwb Nybegynder
16. juni 2005 - 22:33 #4
Så ændre følgende...

i linie2:
public static byte Variabel1;

i linie14:
System.out.println(Klasse1.Variabel1)
Avatar billede mikkelbm Nybegynder
17. juni 2005 - 17:21 #5
Fået det til at virke?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester