直接上代码吧
Animale.java
<span style="font-size:14px;">public abstract class Animal {
public abstract void cry();
public abstract String getAnimalName();
}</span>
Simulator.java
<span style="font-size:14px;">public class Simulator {
public void playSound(Animal animal){
System.out.println("现在播放:"+animal.getAnimalName());
animal.cry();
}
}</span>
Dog.java
<span style="font-size:14px;">public class Dog extends Animal{
public void cry(){
System.out.println("汪汪");
}
public String getAnimalName(){
return "狗";
}
}
</span>
Cat.java
public class Cat extends Animal{
public void cry(){
System.out.println("喵");
}
public String getAnimalName(){
return "猫";
}
}
Example.java
public class Example{
public static void main(String args[]){
Simulator sim=new Simulator();
sim.playSound(new Dog());
sim.playSound(new Cat());
}
}
代码给我很有框架的感觉 虽然还不知道框架具体的含义 但是应该是这样的吧,, 很有结构的感觉 要养成这种思维好难啊 ,,算是遇到的第一个比较有结构性的代码吧虽然只是书上的一个例子
PS: 书上说abstract和接口不一样 但是我觉得差不多啊,,,