Ich hatte mir überlegt, wie ich die Variable der Katzen-Objekte durchnummeriere, aber bekam immer eine Fehlermeldung, bis ich dann bei den anderen sah, dass sie Folgendes programmierten
new Katze()
ich dagegen habe
Katze katze = new Katze()
und wollte dann mit katze+i die Variablen anders benennen.
Vielleicht mag mir jemand erklären, warum ich hier "Katze katze" nicht verwenden muss/sollte.package de.codegym.task.task06.task0603;
/*
Katze- und Hund-Objekte: je 50.000
*/
public class Solution {
public static void main(String[] args) {
// schreib hier deinen Code
for (int i = 1; i <= 50000; i++){
Katze i = new Katze();
Hund i = new Hund();
}
}
}
class Katze {
@Override
protected void finalize() throws Throwable {
super.finalize();
System.out.println("Eine Katze wurde zerstört");
}
}
class Hund {
@Override
protected void finalize() throws Throwable {
super.finalize();
System.out.println("Ein Hund wurde zerstört");
}
}
Dog dog = new Dog();
rechts Objekt, unser Arbeitstier... das kann Verhalten (Methoden) beinhalten, die wir aufrufen (z.b. vergrabeKnochen(Knochen knochen, Ort ort)) oder einen Zustand (double gewicht) links, die Referenzvariable, damit sprechen wir das Objekt an. Da die Variable auch einen Typ hat (wie das Objekt), wissen wir, was die Variable auf das Objekt für Aktionen aufrufen kann. Und da die Referenz 'weiß', wo das Objekt im Speicher zu finden ist, kannst du speziell mit dem gemeinten Objekt arbeiten. Das zu Begreifen ist wirklich wichtig (für später - da man den Typ der Referenz auch ändern kann... aber das kommt später).