Consider this example (typical in OOP books):
I have an Animal class, where each Animal can have many friends. And subclasses like
Animal
what about
public class Animal { private Map> friends = new HashMap>(); public void addFriend(String name, T animal){ friends.put(name,animal); } public T callFriend(String name){ return friends.get(name); }
}