void und return sind wie hier beschrieben 2 unterschiedliche Dinge...Während Void eine Prozedur beschreibt, die wie eine ToDo-Liste abgearbeitet wird, wird bei Return am Ende ein Wert zurückgegeben. Daher ist auch der Aufruf jeweils verschieden. Eine Funktion, die eine Return-Methode enthält, muss einen gewissen Datentyp besitzen, z.B. Integer (dann gibt diese Methode einen Integer zurück).Beispiel:
public void test1(){
x++;
z+=23;
}
public Integer test2()
{
x++;
z+=23;
return z+(2*x);
}
Ein Aufruf von test1() wird immer so aussehen:
test1();
Während der Aufruf von test2() unterschiedlich sein kann, z.B. :
y=test2(); //nun hat y den Wert, der von test2() zurück gegeben wird
oder auch if(test2()>10) { ... }
Gehen wir davon aus, dass test2() den Wert 25 zurück gibt, bedeutet das dann auf Deutsch:
y=25;
oder auch
if(25>10) { ...}
Generell kannst du damit vordergründig Getter und Setter programmieren. Angenommen, du entwickelst ein Spiel, dann kannst du z.B. mit
public integer getX(){
return x;
}
jederzeit die X-Variable des Spielers abfragen. Die Notwendigkeit besteht in den Zugriffsrechten... Ist die Variable nicht public, so kann auf diese von außerhalb nur über Getter und Setter zugegriffen werden.Ein Setter wäre dann z.B.
public void setX(int newx){
x=newx;
}