13. oktober 2004 - 14:05
Der er
8 kommentarer og 1 løsning
Forhinde public void paint(Graphics g) i at blive udført
Kan man godt gøre sådan at f.eks. public void paint(Graphics g) Ikke bliver udført eller f.eks. start eller init i en java applet. Jeg mener altså den kode som maskinen selv udfører før eller efter public void paint(Graphics g) i koden bliver kørt ??
Annonceindlæg fra HP
13. oktober 2004 - 14:07
#1
Er det ikke bare at lave en tom metode uden indhold i ?
13. oktober 2004 - 14:15
#2
Amen jeg, det kan godt være at jeg ikke rigtig har fattet det der med nedarvning og sånen. Men jeg mener der er vel noget "hemmeligt kode" i Applet klassen der også bliver udført.
13. oktober 2004 - 14:44
#3
ikke hvis du overrider den nedarvede metode paint med din egen, som så bare er tom som arne ganske rigtig sige -> public void paint(Graphics g) {}
13. oktober 2004 - 14:46
#4
Medmindre du kalder super klassens metode af samme navn, så bliver der ikke udført noget behind the scene. [men det har altså nogle ret store effekter hvis man fjerner paint !!]
13. oktober 2004 - 14:49
#5
Men hvad skal jeg skrive for at udføre superklassen af samme navn. Det gør jeg da hverken i min init(), start(), eller paint() . `?
13. oktober 2004 - 14:53
#6
super.metodenavn(argumenter)
13. oktober 2004 - 14:54
#7
hvis du ikke har nogen constuctors på din arvede klasse laver compileren implicit en tom constructor: public Klasse() { super(); } dette giver mening da alle klasser arver fra klassen Object mht. at kalde metoder på din superklasse findes det resaverede ord super, hvorved du kan kalde superklassens metoder i dit tilfælde super.paint();
13. oktober 2004 - 14:55
#8
ihh arne, du er da alt for hurtig :-)
15. oktober 2004 - 13:17
#9
tak
Kurser inden for grundlæggende programmering