Avatar billede neoo Nybegynder
06. januar 2004 - 20:13 Der er 19 kommentarer og
1 løsning

grunllægende spørgesmåle ?

hej til alle.


er ved at lære java. har nogle spørgesmåle.


public static void main (String[] arg)

public betyder at andre kan få lov til at tilgå klassen metoder, men hvad betyder :
1. static
2. Void
3. Main
4. (string[] arg) //hvorfor er der alle de parantesser og det her arg.
Avatar billede arne_v Ekspert
06. januar 2004 - 20:17 #1
static betyder at metoden/attributten kun eksisterer i en kopi
som er delt for alle instanser af objektet
Avatar billede arne_v Ekspert
06. januar 2004 - 20:17 #2
void betyder returner ingenting
Avatar billede arne_v Ekspert
06. januar 2004 - 20:18 #3
main er navnet på første metode når man starter et program (ren
konvention)
Avatar billede arne_v Ekspert
06. januar 2004 - 20:19 #4
() er der altid efter en metode erklæring

String[] arg

fortæller at metoden main kaldes med et array af strings.

[og når det er main så er det programmets argumenter som overføres
i det array]
Avatar billede neoo Nybegynder
06. januar 2004 - 20:27 #5
jeg er ikke helt med i det her :

static betyder at metoden/attributten kun eksisterer i en kopi

hvad mener man med kopi =? har du et eks.
Avatar billede arne_v Ekspert
06. januar 2004 - 20:27 #6
OK ?
Avatar billede arne_v Ekspert
06. januar 2004 - 20:29 #7
public class X {
    public int a;
    public static int b;
}

X x1 = new X();
X x2 = new X();

Her har x1 og x2 hver sin a mens de deler en enkelt b !
Avatar billede arne_v Ekspert
06. januar 2004 - 20:31 #8
For metodet betragt Math klassen som har en pow metode.

Hvis den ikke var static skulle man oprette et objekt:

Math mm = new Math();
double x = mm.pow(10,3);

men fordi den er static eksisterer metoden for klassen og ikke for
instanserne og man kan skrive:

double x = Math.pow(10,2);
Avatar billede neoo Nybegynder
06. januar 2004 - 20:35 #9
public class X {          // her opretter du en klasse X public så andre bruge
    public int a;        // her erklære du a som integer (variabel)
    public static int b;  // her erklære du b som integer (variabel)(kun kopi)
}

X x1 = new X();          // x1 peger på X og der oprettes en ny klasse X
X x2 = new X();          // x2 peger på X og der oprettes en ny klasse X

er det rigtigt det jeg siger ?
Avatar billede arne_v Ekspert
06. januar 2004 - 20:39 #10
public class X {          // her opretter du en klasse X public så andre bruge
    public int a;        // her erklære du a som integer (variabel)
    public static int b;  // her erklære du b som static integer (klasse variabel)
}

X x1 = new X();          // x1 peger på en ny instans af klassen X
X x2 = new X();          // x2 peger på en ny instans af klassen X
Avatar billede neoo Nybegynder
06. januar 2004 - 20:45 #11
jeg ved godt at jeg stiller nogle mærklige sprøgesmåle :(
men jeg ved at lære det her:)

lige her
X x1 = new X();          // bliver der opretet en ny objekt? som hedder X
X x2 = new X();          // bliver der opretet en ny objekt ? som hedder X
og hvorfor bliver der oprettet 2 klasse af samme navn ligeefter hinanden, eller kommer de til at hede x1 og x2 som er 2 ny objekter
Avatar billede neoo Nybegynder
06. januar 2004 - 20:45 #12
oprettet 2 objekter
Avatar billede arne_v Ekspert
06. januar 2004 - 20:48 #13
X x1 = new X();

er en forkortelse for:

X x1;
x1 = new X();

X er type
x1 er objekt navnet
Avatar billede neoo Nybegynder
06. januar 2004 - 20:51 #14
aha :) så er jeg med :):)

tusind tak for hjælpen :)
Avatar billede arne_v Ekspert
06. januar 2004 - 20:52 #15
Her er et sjovt lille stykke kode:

public class Basic {
    private int v;
    private int no;
    private static int count = 0;
    public Basic() {
        v = 0;
        count++;
        no = count;
    }
    public void increment() {
        v++;
    }
    public String toString() {
        return (no + "/" + count + ": " + v);
    }
    public static void main(String[] args) {
        Basic o1 = new Basic();
        o1.increment();
        Basic o2 = new Basic();
        o2.increment();
        o1.increment();
        System.out.println(o1);
        System.out.println(o2);
    }
}
Avatar billede neoo Nybegynder
06. januar 2004 - 21:06 #16
o1 og o2 skriver det samme ud ?
Avatar billede arne_v Ekspert
06. januar 2004 - 21:09 #17
Du skulle gerne få følgende output:

1/2: 2
2/2: 1
Avatar billede neoo Nybegynder
06. januar 2004 - 21:12 #18
hvis jeg gerne vil lave disse programmer hvilke java program
skal jeg bruge
Avatar billede arne_v Ekspert
06. januar 2004 - 21:47 #19
Du kan hente Java SDK fra SUN - den har en command line compiler.

Du kan hente flere gratis IDE'er.

Jeg foretrækker Eclipse.
Avatar billede arne_v Ekspert
06. januar 2004 - 21:47 #20
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