ich habe mal eine allgemeine frage zu java anhand eines beispiels:
so nun die frage; wieso funktioniert das obwohl die methode draw void ist, also innerhalb der methode g ändert aber eigentlich nicht zurückgeben dürfte (ist ja kein return g), es aber trotzdem tut?
wenn ich das selbe mit einem eigenem objekt versuche, also zb. ein objekt was nur ein int besitzt und in einer void-methode die zahl ändere wird sie zwar innerhalb der methode geändert, jedoch im hauptprogramm, wo sie aufgerufen wurde, nicht.
wieso?
mfg thomy
Java:
...
Graphics2D g= image.getGraphics2D();
draw(g);
g.dispoe();
...
public void draw(Graphics2D g) {
g.setColor(Color.red);
g.fillRect(0,0,5,5);
}
so nun die frage; wieso funktioniert das obwohl die methode draw void ist, also innerhalb der methode g ändert aber eigentlich nicht zurückgeben dürfte (ist ja kein return g), es aber trotzdem tut?
wenn ich das selbe mit einem eigenem objekt versuche, also zb. ein objekt was nur ein int besitzt und in einer void-methode die zahl ändere wird sie zwar innerhalb der methode geändert, jedoch im hauptprogramm, wo sie aufgerufen wurde, nicht.
wieso?
mfg thomy