/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Static
Fra : Dcasso


Dato : 13-09-03 17:26

Hej

En der på god gammeldags dansk kan forklare mig, præcist hvad formålet
med static er, både i relation til metoder og klasser.

mvh
Dennis

 
 
Lars M (13-09-2003)
Kommentar
Fra : Lars M


Dato : 13-09-03 17:47

"Dcasso" <ikke@oplyst_pga_spam.dk> wrote in message
news:c8h6mvchg0jdeti9tn15igakucl05gv0cq@4ax.com...
> Hej
>
> En der på god gammeldags dansk kan forklare mig, præcist hvad formålet
> med static er, både i relation til metoder og klasser.
>
Har du læst sprog specificationen (det beskrives ikke bedre nogen steder)?
http://java.sun.com/docs/books/jls/second_edition/html/classes.doc.html#3754
4
http://java.sun.com/docs/books/jls/second_edition/html/classes.doc.html#2291
28

OK, det er ikke gammeldags dansk, men let læseligt engelsk.

Mvh
Lars




Lars M (13-09-2003)
Kommentar
Fra : Lars M


Dato : 13-09-03 17:58


"Lars M" <lamosfjern@dettepost8.tele.dk> wrote in message
news:3f634a0f$0$83040$edfadb0f@dtext01.news.tele.dk...
> "Dcasso" <ikke@oplyst_pga_spam.dk> wrote in message
> news:c8h6mvchg0jdeti9tn15igakucl05gv0cq@4ax.com...
> > Hej
> >
> > En der på god gammeldags dansk kan forklare mig, præcist hvad formålet
> > med static er, både i relation til metoder og klasser.
> >
> Har du læst sprog specificationen (det beskrives ikke bedre nogen steder)?
>
http://java.sun.com/docs/books/jls/second_edition/html/classes.doc.html#3754
> 4
>
http://java.sun.com/docs/books/jls/second_edition/html/classes.doc.html#2291
> 28
>
Links der virker:
http://makeashorterlink.com/?C1C5134E5
http://makeashorterlink.com/?D6D5324E5

Mvh
Lars



Anders K. Olsen (13-09-2003)
Kommentar
Fra : Anders K. Olsen


Dato : 13-09-03 18:19

"Dcasso" <ikke@oplyst_pga_spam.dk> wrote in message
news:c8h6mvchg0jdeti9tn15igakucl05gv0cq@4ax.com...
> Hej
>
> En der på god gammeldags dansk kan forklare mig, præcist hvad formålet
> med static er, både i relation til metoder og klasser.

Specifikationen giver selvfølgelig den præcise definition, men jeg vil da
også godt prøve mig med en forklaring.

Tænk på forskellen mellem en klasse og en instans af klassen.

Static metoder og variable tilhører klassen. Ikke-static metoder og variable
tilhører den konkrete instans af en klasse. En static variabel er altså
fælles blandt alle instanser af en klasse, mens en ikke-static variabel er
unik for den aktuelle instans. En static metode kan kaldes uden at du har en
instans af klassen, og en static metode kan derfor kun tilgå andre static
metoder og variable. En static metode kan også kaldes på en konkret instans
af en klasse, men det er generelt dårlig skik, for det kan få en til at tro
at det er en instans-metode og ikke en static metode.

En static klasse giver så vidt jeg ved kun mening i forbindelse med en indre
klasse. En ikke-static indre klasse tilhører en konkret instans af den ydre
klasse.

Jeg håber det giver mening.

/Anders



Dcasso (13-09-2003)
Kommentar
Fra : Dcasso


Dato : 13-09-03 21:39

>> En der på god gammeldags dansk kan forklare mig, præcist hvad formålet
>> med static er, både i relation til metoder og klasser.
>
>Specifikationen giver selvfølgelig den præcise definition, men jeg vil da
>også godt prøve mig med en forklaring.
>
>Tænk på forskellen mellem en klasse og en instans af klassen.
>
>Static metoder og variable tilhører klassen. Ikke-static metoder og variable
>tilhører den konkrete instans af en klasse. En static variabel er altså
>fælles blandt alle instanser af en klasse, mens en ikke-static variabel er
>unik for den aktuelle instans. En static metode kan kaldes uden at du har en
>instans af klassen, og en static metode kan derfor kun tilgå andre static
>metoder og variable. En static metode kan også kaldes på en konkret instans
>af en klasse, men det er generelt dårlig skik, for det kan få en til at tro
>at det er en instans-metode og ikke en static metode.
>
>En static klasse giver så vidt jeg ved kun mening i forbindelse med en indre
>klasse. En ikke-static indre klasse tilhører en konkret instans af den ydre
>klasse.
>
>Jeg håber det giver mening.

Ja, giver mening. Jeg har bare indtil videre generelt erklæret dem som
static i mine små nybegynder programmer og det er vel så ikke
nødvendigt.

Men hvad med main, den skal vel være static.

Og i det øjeblik man bruger
MinKlasse variabelNavn = new MinKlasse()

Så vil man som regel tale om ikke-static klasser/metoder.

Eller er det forkert forstået

mvh
Dennis

Robert Larsen (13-09-2003)
Kommentar
Fra : Robert Larsen


Dato : 13-09-03 23:53

Dcasso wrote:
> Ja, giver mening. Jeg har bare indtil videre generelt erklæret dem som
> static i mine små nybegynder programmer og det er vel så ikke
> nødvendigt.

Ikke nødvendigvis. Nogle metoder giver mening at erklære static og andre
gør ikke. Det kommer an på hvad metoden gør. Hvis der skal tilgåes
instans variable i en metode så går det ikke at det er en statisk
metode, ellers kan man roligt erklære metoden statisk.

>
> Men hvad med main, den skal vel være static.

Nemlig. Når programmet startes har man jo ikke en instans af en klasse
og java fortolkeren vil derfor kalde den statiske metode kaldet main som
ikke kræver en instans af en klasse.

>
> Og i det øjeblik man bruger
> MinKlasse variabelNavn = new MinKlasse()
>
> Så vil man som regel tale om ikke-static klasser/metoder.

Ja og nej....det kommer igen an på hvad metoden gør. Der findes f.eks.
en del design patterns (Læs "Design Patterns" ISBN: 0201633612...den er
alle pengene værd) som benytter sig af statiske metoder f.eks. Factory
method og Singleton. Disse to patterns bliver også brugt flittigt i Java.


Mvh

Robert


Stefan L. Jensen (14-09-2003)
Kommentar
Fra : Stefan L. Jensen


Dato : 14-09-03 22:32

> En der på god gammeldags dansk kan forklare mig, præcist hvad formålet
> med static er, både i relation til metoder og klasser.

Tag et kig på
http://www.docjava.dk/java_specielt/klasse_objekt/klasse_objekt.htm

Siden er lavet af en af mine undervisere og er på dansk.

// Stefan L. Jensen



Jesper Matthiesen (15-09-2003)
Kommentar
Fra : Jesper Matthiesen


Dato : 15-09-03 07:51

Jeg har en gang læst en definition:
Instansvariable og -metoder er afhængige af objektets tilstand. Er de
ufhængige af objektets tilstand skal man bruge statiske.
Mvh Jesper

"Stefan L. Jensen" <dmu2207@mail.ikasths.dk> wrote in message
news:3f64de0a$0$246$bc7fd3c@news.sonofon.dk...
> > En der på god gammeldags dansk kan forklare mig, præcist hvad formålet
> > med static er, både i relation til metoder og klasser.
>
> Tag et kig på
> http://www.docjava.dk/java_specielt/klasse_objekt/klasse_objekt.htm
>
> Siden er lavet af en af mine undervisere og er på dansk.
>
> // Stefan L. Jensen
>
>



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste