Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich hätte noch ne frage und zwar verstehe ich die methode printbus(bus bus ) nicht und zwar wie sie genau funktioinert.
ich hab ne methode in der klasse bus, die fahren heißt und welche in testbus werte zugewiesen bekommt.
dann hab ich noch printBus(a); stehen, da weiß ich auch nicht so recht, wie diese methode von public static void printBus(Bus bus) aufgerufen wird. zumal ist es ja ne statische methode, aber diese ist doch eig. vom objekt abhängig, oder?
System.out.println("Start: " + bus.getStart()); hier verstehe ich nicht ganz, wieso der start wert gezeigt wird, get methode ist klar, aber worauf bus. sich bezieht, weiß ich leider nicht. wie wird das attribut start denn auf der konsole gezeigt, wie macht es java?
danke
Java:
class Bus{
private String start;
private String ziel;
int Stationen;
int n;
public Bus(String start , String ziel){
this.start=start;
this.ziel=ziel;
}
public void setStart(String s){
start=s;
}
public String getStart(){
return start;
}
public void setZiel(String z){
ziel=z;
}
public String getZiel(){
return ziel;
}
public void fahren(int n){
Stationen+=n;
}
}
Java:
class BusTest{
public static void main (String[]args){
Bus a=new Bus("Station a" , "Station b");
a.fahren(4);
Bus b=new Bus("Station c" , "Station d");
b.fahren(3);
Bus c=new Bus("Station e" , "Station f");
c.fahren(7);
printBus(a);
printBus(b);
printBus(c);
}
public static void printBus(Bus bus){ // methode
System.out.println("Start: " + bus.getStart());
System.out.println("Ziel: " + bus.getZiel());
System.out.println("Stationen gefahren: " + bus.getStationen());
}
}
Andersrum: printBus(a) ist ein Aufruf von der Methode public static void printBus(Bus bus). Und funktionieren tut das so, dass du im Rumpf dieser Methode landest, und für das "bus" wird halt der Bus "a" eingesetzt.
zumal ist es ja ne statische methode, aber diese ist doch eig. vom objekt abhängig, oder?
Richtig, aber das Objekt wird der Methode als Parameter übergeben, also hat sie alle nötigen Informationen die sie braucht.
System.out.println("Start: " + bus.getStart()); hier verstehe ich nicht ganz, wieso der start wert gezeigt wird, get methode ist klar, aber worauf bus. sich bezieht, weiß ich leider nicht.
"bus" bezieht sich auf den Parameter der Methode:
public static void printBus(Bus bus)
Was das genau für ein Bus ist, das stellt sich erst zur Laufzeit heraus. Wie gerade schon gesagt: Wenn du printBus(a) machst, dann ist "bus" in der Methode eben der Bus "a". In deinem Snippet liefert das dann also "Station A". Es ist nur eine Variable, die bei jedem Methodenaufruf einen beliebigen Bus annehmen kann, und mit diesem Bus arbeitet sie dann.
wie wird das attribut start denn auf der konsole gezeigt, wie macht es java?