做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处
interface Animal{
//动物的接口 public void eat(Food food);
//接口中只有抽象的方法和静态常量!这里void前面省略了abstract。同样,变量可以省略static final}
class Cat implements Animal
//一种动物类:猫
{
public void eat(Food food)
//这里是对上面的接口中已经有的方法进行了覆盖也叫重写,这一步是必须的! {
System.out.println("小猫吃"+food.getName());
}
}
class Dog implements Animal
//一种动物类:狗{
public void eat(Food food)
//覆盖 {
System.out.println("小狗啃"+food.getName());
}
}
abstract class Food
//食物抽象类 。抽象类不能创建对象,这和C++一样
{
protected String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name =