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.
Das Programm zum Testen und aufrufen der Konstruktorklasse:
Java:
public class Seriennummerntest {
public static void main(String[] args) {
Bruch_mit_Seriennummer a = new Bruch_mit_Seriennummer(1, 2);
Bruch_mit_Seriennummer b = new Bruch_mit_Seriennummer(1, 3);
Bruch_mit_Seriennummer c = new Bruch_mit_Seriennummer(1, 4);
Bruch_mit_Seriennummer d = new Bruch_mit_Seriennummer(1, 6);
Bruch_mit_Seriennummer e = new Bruch_mit_Seriennummer(1, 8);
System.out.println(a.bruchtoString() + " Seriennummer: "
+ a.getSeriennummer());
System.out.println(b.bruchtoString() + " Seriennummer: "
+ b.getSeriennummer());
System.out.println(c.bruchtoString() + " Seriennummer: "
+ c.getSeriennummer());
System.out.println(d.bruchtoString() + " Seriennummer: "
+ d.getSeriennummer());
System.out.println(e.bruchtoString() + " Seriennummer: "
+ e.getSeriennummer());
}
}
Die Konstruktorklasse:
Aufgabe: Ergänzen Sie die Klasse um ein ganzzahliges Attribut mit dem Namen seriennummer. In dem Attribut soll jeder Bruch seine Seriennummer speichern. Der zuerst erzeugte Bruch soll die Seriennummer 1, der zweite die Seriennummer 2 etc erhalten.
Verwenden Sie zusätzlich ein statisches Attribut, um die jeweils korrekte Seriennummer zu ermitteln. Die Seriennummer eines Objekts soll als unveränderliches (final) Attribut definiert werden. Für die Abfrage der Seriennummer soll die Klasse eine Get-Methode zur Verfügung stellen.
Java:
public class Bruch_mit_Seriennummer extends Bruch {
static int anzahl = 0;
private final int seriennummer;
Bruch_mit_Seriennummer(int x, int y) {
super(x, y); // Zugriff auf Superklasse (verzichte im Moment darauf diese zu posten)
anzahl++;
seriennummer = anzahl;
int getSeriennummer() {
return seriennummer;
}
}}
1.) Der Wert von anzahl müsste sich von 1 auf 5 ändern, aber das ist in Eclipse nicht als Breakpoint/Variable ersichtlich, weshalb nur?? Kann ich das sichtbar machen?
2.) Wo genau werden die Serienummer-Werte abgespeichert? Die seh ich nämlich auch nirgends...
Der Wert von anzahl müsste sich von 1 auf 5 ändern, aber das ist in Eclipse nicht als Breakpoint/Variable ersichtlich, weshalb nur?? Kann ich das sichtbar machen?
Das Resultat ist die Ausgabe 1, 2, 3, 4, 5 (vereinfacht ausgedrückt, über die getSeriennummer-Methode in der Klasse Seriennummertest). Es soll auch so sein und es funktioniert nur mit dem static und final, ansonsten ist die Ausgabe tatsächlich 1, 1, 1, 1, 1.
Das stimmt glaub schon, da seriennummer als private (aussserhalb der Klasse unsichtbar) deklariert wurde, ist seriennummer nur über eine get-Methode sichtbar resp. abrufbar. (Oder?)