Ich hoffe meine Frage / Unklarheit Thema ist schon verständlich genug ... Ein Beispiel hierfür:
Können sich Probleme dadurch ergeben, dass Human und Cat sich gegenseitig referenzieren? Falls ja, wie umgehe ich das?
Java:
// HUMAN CLASS ===================================
import java.util.ArrayList;
public class Human {
private String name;
private ArrayList<Cat> cats = new ArrayList<>();
public Human(String name){
this.name = name;
}
public String getName() {
return name;
}
public void buyCat(Cat c){
cats.add(c);
c.setMaster(this);
}
public ArrayList<Cat> getCats() {
return cats;
}
@Override
public String toString() {
return name;
}
}
// CAT CLASS ===================================
public class Cat {
private String name;
private Human master;
public Cat(String name) {
this.name = name;
}
public Human getMaster() {
return master;
}
public void setMaster(Human master) {
this.master = master;
}
@Override
public String toString() {
return name;
}
}
// MAIN CLASS ===================================
public class Home {
public static void main(String[] args) {
Human h1 = new Human("Mike");
Cat c1 = new Cat("Triny");
Cat c2 = new Cat("Neo");
h1.buyCat(c1);
h1.buyCat(c2);
for (Cat c : h1.getCats()) {
System.out.println(c + "'s master is " + h1.getName());
}
System.out.println(h1 + " has " + h1.getCats());
}
}
// ===================================
public class Main {
public static void main(String[] args) {
Human h1 = new Human("Mike");
Cat c1 = new Cat("Triny");
Cat c2 = new Cat("Neo");
h1.buyCat(c1);
h1.buyCat(c2);
for (Cat c : h1.getCats()) {
System.out.println(c + "'s master is " + h1.getName());
}
System.out.println(h1 + " has " + h1.getCats());
}
}
Können sich Probleme dadurch ergeben, dass Human und Cat sich gegenseitig referenzieren? Falls ja, wie umgehe ich das?