如何使方法返回类型通用?
考虑以下示例(OOP书籍中的典型示例): 我有一Animal堂课,每个人Animal可以有很多朋友。 和子类喜欢Dog,Duck,Mouse等里面加如特定行为bark(),quack()等等。 这是Animal课程: public class Animal { private Map<String,Animal> friends = new HashMap<>(); public void addFriend(String name, Animal animal){ friends.put(name,animal); } public Animal callFriend(String name){ return friends.get(name); } } 这是一些带有大量类型转换的代码片段: Mouse jerry = new Mouse(); jerry.addFriend("spike", new Dog()); jerry.addFriend("quacker", new Duck()); ((Dog) jerry.callFriend("spike")).bark(); ((Duck) jerry.callFriend("quacker")).quack(); 有什么办法可以将泛型用于返回类型来摆脱类型转换,所以我可以说 jerry.callFriend("spike").bark(); jerry.callFriend("quacker").quack(); 这是一些带有返回类型的初始代码,这些代码作为从未使用过的参数传递给该方法。 …