Habe mir Alexander Niemanns "Objektorientierte Programmierung in Java" vorgeknöpft.
Die Anleitung:
Ich habe die Klasse 'Auto'.
In der "Standard-Methode" main() wird eine Variable festgesetzt:
Die main()-Methode (der Standard-Konstruktor) soll überschrieben werden.
Ganz klar, mit dem Name des Konstruktors = Name der Klasse.
Da steht nun drin:
Auch gut: es wird, da Überschreibung, beim Aufruf der Methode 'Auto()' in einer Instanz nun nicht mehr main() (also 'public static int anzAutos = 0') aufgerufen, sondern 'anzAutos++'.
Jetzt gibt es aber noch die Überladung:
Meine Verständnisprobleme:
1.) Ist die zweite Definition nun eine Überladung UND Überschreibung? Wo liegt der Unterschied?
2.) Wieso wird beim Aufruf des Konstruktors 'Auto(var1, (short)var2, (short)var3)' aus einer Instanz heraus nicht sowohl die erste Definition (Überschreibung) als auch die zweite Definition (Überschreibung/Überladung) aufgerufen?
2.) Würde 'anzAutos' wieder überschrieben werden, wenn das 'public static int anzAutos = 0;' in der main()-Methode in der Code-Reihenfolge nach der Überschreibung/Überladung des Konstruktors 'Auto()' bzw. 'Auto(var1, (short)var2, (short)var3)' stehen würde?
Eventuell hat jemand mal ein Beispiel, bei dem mir das "Nu' ist's sonnenklar !!" - Erlebnis beschieden wird...
Jaja, jeder fängt mal klein an
Die Anleitung:
Ich habe die Klasse 'Auto'.
In der "Standard-Methode" main() wird eine Variable festgesetzt:
Code:
public static int anzAutos = 0;
Die main()-Methode (der Standard-Konstruktor) soll überschrieben werden.
Ganz klar, mit dem Name des Konstruktors = Name der Klasse.
Da steht nun drin:
Code:
public Auto()
{
anzAutos++
}
Auch gut: es wird, da Überschreibung, beim Aufruf der Methode 'Auto()' in einer Instanz nun nicht mehr main() (also 'public static int anzAutos = 0') aufgerufen, sondern 'anzAutos++'.
Jetzt gibt es aber noch die Überladung:
Code:
public Auto(String kBez, short kGeschw, short kPlaetze)
{
// Definition der o.g. Variablen
anzAutos++;
}
Meine Verständnisprobleme:
1.) Ist die zweite Definition nun eine Überladung UND Überschreibung? Wo liegt der Unterschied?
2.) Wieso wird beim Aufruf des Konstruktors 'Auto(var1, (short)var2, (short)var3)' aus einer Instanz heraus nicht sowohl die erste Definition (Überschreibung) als auch die zweite Definition (Überschreibung/Überladung) aufgerufen?
2.) Würde 'anzAutos' wieder überschrieben werden, wenn das 'public static int anzAutos = 0;' in der main()-Methode in der Code-Reihenfolge nach der Überschreibung/Überladung des Konstruktors 'Auto()' bzw. 'Auto(var1, (short)var2, (short)var3)' stehen würde?
Eventuell hat jemand mal ein Beispiel, bei dem mir das "Nu' ist's sonnenklar !!" - Erlebnis beschieden wird...
Jaja, jeder fängt mal klein an