首先,我不得不说我尝试用谷歌搜索这个问题的答案,但没有答案能解释我的疑问。无论如何,我想了解的是以下内容:
public interface Animal{
public void makeSound(int times);
}
这个接口有两种不同的实现:
public class Cat implements Animal{
@Override
public void makeSound(int times){
for(int=0;i<times;i++){
this.meow();
}
}
}
public class Dog implements Animal{
@Override
public void makeSound(int times){
for(int=0;i<times;i++){
this.wolf();
}
}
}
我将使用这些实现,如下例所示:
public class AnimalStateManager {
@Inject
private Animal animal;
public void makeAnimalAct(){
animal.makeSound(100)
}
}
更新 1.1 到帖子
我还有一门使用相同的“动物”界面的课程:
public class AnimalMakeSoundOnce {
@Inject
private Animal animal;
public void makeSoundOnce(){
animal.makeSound(1)
}
}
所以我的问题是: 1- 我怎么知道要注入 AnimalStateManager 的实现是什么?2- 如果我想将“AnimalStateManager”上的“动物”对象强制为猫怎么办?
更新 1.1 到 帖子 3- 如果我想让 AnimalMakeSoundOnce 使用 Dog 实现而 AnimalStateManager 使用 Cat 实现怎么办?
暮色呼如
慕的地8271018
相关分类