interface Animal { public void eat(Food food); } /** *@authorleno *一种动物类:猫 */ class Cat implements Animal { public void eat(Food food) { System.out.println("小猫吃"+food.getName()); } } /** *@authorleno *一种动物类:狗 */ class Dog implements Animal { public void eat(Food food) { System.out.println("小狗啃"+food.getName()); } } /** *@authorleno *食物抽象类 */ abstract class Food { protected String name; public String getName() { return name; } public void setName(String name) { this.name = name; } } /** *@authorleno *一种食物类:鱼 */ class Fish extends Food { public Fish(String name) { this.name = name; } } /** *@authorleno *一种食物类:骨头 */ class Bone extends Food { public Bone(String name) { this.name = name; } } /** *@authorleno *饲养员类 * */ class Feeder { /** *饲养员给某种动物喂某种食物 *@paramanimal *@paramfood */ public void feed(Animal animal,Food food) { animal.eat(food); } } /** *@authorleno *测试饲养员给动物喂食物 */ public class TestFeeder { public static void main(String[] args) { Feeder feeder=new Feeder(); Animal animal=new Dog(); Food food=new Bone("肉骨头"); feeder.feed(animal,food); //给狗喂肉骨头 animal=new Cat(); food=new Fish("鱼"); feeder.feed(animal,food); //给猫喂鱼 } }
发表评论
-
全排列3
2009-06-04 02:26 670public class FullArray ...{ ... -
全排列2
2009-06-04 02:09 743package com.syj.csdn; impo ... -
全排列
2009-06-04 02:07 831算法1 一个经典的全排列算法zz2007-06-1 ... -
Java排序问题
2009-04-27 20:04 743package com.softeem.jbs.lesso ... -
水仙花数
2009-04-15 21:28 1204public class StaticClass{ ... -
百钱百鸡
2009-04-15 21:27 800public class ma { public s ... -
猴子吃桃
2009-04-15 21:25 881/*public class Chitao { publ ... -
用dom4j组件解析如下XML格式的文件:
2009-04-15 21:18 806<?xml version="1.0&qu ... -
做一个单子模式的类,只加载一次属性文件
2009-04-15 21:14 1045import java.io.FileInputStrea ... -
拷贝一个目录(文件)到指定路径
2009-04-15 21:12 1038/** *拷贝一个目录或者文件到指定路径下 ... -
用JAVA中的多线程示例银行取款问题
2009-04-15 21:09 2045/** *@authorleno *账户类 * ... -
用JAVA中的多线程示例火车站售票问题
2009-04-15 21:07 2382/** *@authorleno *售票类 * ... -
用JAVA中的多线程示例生产者和消费者问题
2009-04-15 21:05 771class Producer implements Run ... -
编程实现序列化的Student(sno,sname)对象
2009-04-15 21:03 945import java.io.IOException; ... -
二分查找特定整数在整型数组中的位置
2009-04-15 21:00 822/** *二分查找特定整数在整型数组中的位置( ... -
获得任意一个int类型的阶乘
2009-04-15 20:59 907/** *获得任意一个整数的阶乘 ... -
将某个日期以固定格式转化成字符串
2009-04-15 20:56 904/*将某个日期以固定格式转化成字符串 ... -
一般的正弦曲线
2009-04-15 20:31 783import java.applet.*; import ... -
线程的正弦函数
2009-04-15 20:27 876import java.awt.*; import ja ... -
画星的两个方法
2009-04-14 23:26 741方法一: public class T { ...
相关推荐
在Java编程语言中,面向对象编程是核心特性之一,这个例子通过饲养员给动物喂食展示了这一概念。首先,我们有一个`Animal`接口,它定义了一个通用的行为——`eat(Food food)`,这意味着所有实现了这个接口的动物类都...
这个例子通过实现一个饲养员给不同动物喂食的场景,展示了Java中面向对象编程的基本原理,包括接口、抽象类和具体类的使用。 - **接口`Animal`**:定义了动物的基本行为,即`eat()`方法,它接受一个`Food`类型的...
首先,继承是面向对象编程的一个关键特性,它允许一个类(子类)从另一个类(父类)中继承属性和方法。这样,子类就可以重用父类的代码,而不需要重新编写。在Java中,通过在类定义前加上`extends`关键字来实现继承...
在这个示例中,作者通过构建一个“饲养员给动物喂食”的场景来展示Java中的面向对象设计原则和接口的应用。整个示例围绕以下几个核心概念展开: 1. **接口**(`interface Animal`):定义了一个通用的行为——`eat`...
- 类(Feeder)代表饲养员,通过泛型方法 `feed(Animal animal, Food food)` 实现给不同动物喂食的功能,体现了多态性。无论给哪种动物喂什么食物,该方法都能正确执行。 - 测试类(TestFeeder)创建了不同的动物和...
本实例通过一个饲养员给不同动物喂食的场景,介绍了Java语言中的面向对象思想,包括类、接口以及抽象类的概念。 - **接口 (Interface)**:在Java中,接口是一种引用类型,用于定义行为的标准或规范。在这个例子中,...
继承是面向对象编程(Object-Oriented Programming)中的一种机制,允许一个类继承另一个类的属性和行为。通过继承,子类可以重用父类的代码,减少代码的冗余和重复。同时,继承也可以实现多态性,即子类可以...
比如,可以定义一个Animal接口,然后有不同的动物(如Dog、Cat)实现这个接口,饲养员通过接口给动物喂食。 - 单例模式的实现,可以创建一个Singleton类,将构造器设为私有,并提供一个静态方法获取唯一的实例,...
在Java编程语言中,继承是面向对象编程的一个关键特性,它允许一个类(子类)继承另一个类(父类)的属性和方法。这有助于代码重用和创建更复杂的类结构。下面我们将深入探讨Java继承的基本概念、用法以及在给定的...