Avatar billede Slettet bruger
10. oktober 2004 - 13:50 Der er 5 kommentarer og
1 løsning

En global variabel

Hejsa

Kan man i en alm. java app. lave en global variabel som man kan hente alle steder så længe programmet kører??
Jeg er ved at lave et lille program med Eclipse's SWT og har brug for 3-4 globale variabler, det som jeg gerne vil undgå er at tage dem som parameter hver gang jeg skifter metode
Avatar billede _carsten Nybegynder
10. oktober 2004 - 13:58 #1
Ja - lav evt. en klasse med statiske variabler
Avatar billede baitianlong Nybegynder
10. oktober 2004 - 14:05 #2
Eller et interface.

public interface konstanter {
  public static final double PI = 3.14159265;
}
Avatar billede _carsten Nybegynder
10. oktober 2004 - 14:07 #3
Eksempel, ikke testet

class GlobaleVariabler{
   
    public static int x = 100;
    public static String test = "Dyt - Båt";
     
    private static GlobaleVariabler gv = null;

    public static GlobaleVariabler getGV() {
        if (gv == null) {
            gv = new GlobaleVariabler();
            return gv;
        }
        else
            return gv;
    }
}


class Test2{
    public Test(){
        System.out.println("" + GlobaleVariabler.getGV().x);
       
        System.out.println("" + GlobaleVariabler.getGV().test);
    }
}
   
public Test{
    public Test(){
    }
   
   
    public static void main(Strig[] args){
       
        System.out.println("" + GlobaleVariabler.getGV().x);
       
        System.out.println("" + GlobaleVariabler.getGV().test);
   
        new Test2();
        new Test();
    }
}
Avatar billede _carsten Nybegynder
10. oktober 2004 - 14:11 #4
Prøver lige en gang mere, denne gang med diverse bøffer fjernet

class GlobaleVariabler{

    public static int x = 100;
    public static String test = "Dyt - Båt";

    private static GlobaleVariabler gv = null;

    public static GlobaleVariabler getGV() {
        if (gv == null) {
            gv = new GlobaleVariabler();
            return gv;
        }
        else
            return gv;
    }
}


class Test2{
    public Test2(){
        System.out.println("" + GlobaleVariabler.getGV().x);

        System.out.println("" + GlobaleVariabler.getGV().test);
    }
}

public class Test{
    public Test(){
    }


    public static void main(String[] args){

        System.out.println("" + GlobaleVariabler.getGV().x);

        System.out.println("" + GlobaleVariabler.getGV().test);

        new Test2();
        new Test();
    }
}
Avatar billede Slettet bruger
10. oktober 2004 - 16:29 #5
Doh, jeg bruger en singleton til min database connection. Så det er vist løsningen, men tak for "påmindelsen" Carsten - men du skal selvfølig have dine point alligevel

øhh, smid lige et svar ;-)
Avatar billede _carsten Nybegynder
10. oktober 2004 - 16:32 #6
OK
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