19. august 2003 - 19:50
Der er
14 kommentarer og 1 løsning
Flere basale java spørgsmål.
Hejsa, Jeg ville godt have en god forklaring af ordet this. Hvad betyder det? Hvorfor bruger man det?
Annonceindlæg fra Academic Work Denmark A/S
19. august 2003 - 19:55
#1
this = objektet selv
19. august 2003 - 19:57
#2
Typisk konstruktion: public class X { private int v; public X(int v) { this.v = v; } } this.v betyder instans member v i "this object".
19. august 2003 - 20:07
#3
Og det skal angives eksplicit fordi argumentet v "skygger" for instans member v.
19. august 2003 - 20:07
#4
Du kan også bruge this til at kalde en constructor fra en constructor.
19. august 2003 - 20:19
#5
Kombineret eksempel: public class X { private int v; public X(int v) { this.v = v; } public X() { this(0); } } this med argumenter i den anden constructor er så et "kald" til den første constructor.
19. august 2003 - 20:34
#6
Du kan også bruge this hvis et objekt har brug for at kalde en metode med sig selv som parameter
19. august 2003 - 21:04
#7
Ja. xxxx.addActionListener(this) er jo en helt standard feature i GUI programmering.
19. august 2003 - 21:06
#8
Og i two-way relationer mellem klasser. Klasse A opretter klasse B. A får så en referance til B. Men B skal også have en refrance til A. Så A kalder B's constructor med this og den gemmer så referancen til A.
Slettet bruger
20. august 2003 - 01:05
#9
Og this er det der ikke ér i en statisk metode :)
20. august 2003 - 02:30
#10
Kort sagt, alle objekter har en medfødt reference til sig selv, med variabelnavnet 'this'. >>mercur8 Den var god nok kryptisk! *S*
20. august 2003 - 21:09
#11
Hvad hvis man bruger this i sammenhæng med et metode kald? f.eks. sådan er: this.showAll(); betyder this her så bare at metoden showAll() ligger i samme klasse eller hvad?
20. august 2003 - 21:21
#12
Ja. Og "this" vil normalt være overflødigt.
20. august 2003 - 21:27
#13
public void m() { } public void m1() { m(); } public void m2() { this.m(); } m1 og m2 gør præcis det samme !
20. august 2003 - 21:30
#14
En typisk grund til at få this. foran her er at man er lidt i tvivl om metoderne og når så man skriver this. så foreslår ens IDE de tilgængelige metoder og man vælger en.
20. august 2003 - 21:37
#15
Takker også her for din hjælp arne...
Kurser inden for grundlæggende programmering