Map的value存放intface代码样例
时间: 2023-12-24 08:05:36 浏览: 53
下面是一个简单的示例代码,展示了如何在Java中使用Map存储接口类型的对象:
```
public interface Animal {
void makeSound();
}
public class Dog implements Animal {
@Override
public void makeSound() {
System.out.println("Woof!");
}
}
public class Cat implements Animal {
@Override
public void makeSound() {
System.out.println("Meow!");
}
}
public class Main {
public static void main(String[] args) {
Map<String, Animal> animals = new HashMap<>();
animals.put("dog", new Dog());
animals.put("cat", new Cat());
Animal dog = animals.get("dog");
dog.makeSound(); // Output: Woof!
Animal cat = animals.get("cat");
cat.makeSound(); // Output: Meow!
}
}
```
在上面的示例中,Animal是一个接口,Dog和Cat是实现了Animal接口的具体类。我们将它们的实例存储在一个Map中,并且可以通过接口类型来调用它们的方法。这样,我们就可以在不改变其他代码的情况下,轻松地添加新的Animal类型,并且可以通过Map来管理它们。
阅读全文