Java编程:类与继承示例解析

需积分: 10 0 下载量 110 浏览量 更新于2024-11-15 收藏 82KB DOC 举报
"c程序的例子类人猿课程设计" 在这个C程序示例中,我们可以看到几个关键的面向对象编程概念的运用,包括类的继承、方法重写以及对象的类型转换。下面将对这些知识点进行详细说明。 1. **类与继承**: - `类人猿` 是一个基础类,包含一个私有变量 `n` 和一个方法 `crySpeak`。 - `People` 类继承自 `类人猿`,这意味着 `People` 拥有 `类人猿` 的所有属性和方法。`People` 类还添加了一个新的方法 `computer` 以及重写了 `crySpeak` 方法,这在面向对象编程中称为多态性。 2. **方法重写**: - `People` 类中的 `crySpeak` 方法被重写,原本输出字符串的方式被修改为在字符串前后添加星号。这就是所谓的覆盖父类的方法,使得子类对象可以拥有不同的行为。 3. **对象创建与类型转换**: - 在 `Example4_19` 类的 `main` 方法中,创建了一个 `People` 类的对象 `monkey`,但由于它声明为 `类人猿` 类型,因此只能调用 `类人猿` 类中定义的公共方法,即 `crySpeak`。 - 接着,通过类型转换 `(People)monkey`,将 `monkey` 强制转换为 `People` 类型,从而可以调用 `People` 类特有的 `computer` 方法。 4. **多态性**: - 当 `monkey` 被强制转换为 `People` 类后,调用 `crySpeak` 方法时,由于多态性,实际执行的是 `People` 类中重写后的版本,输出带有星号的字符串。 5. **接口与抽象类**(这部分在给定的代码中没有直接体现,但作为扩展知识点): - `例子20` 展示了接口的概念,`动物` 类可以看作是一个接口,`狗` 和 `猫` 类都实现了 `动物` 接口的 `cry` 方法。 - `例子21` 提到了抽象类 `A`,它包含一个抽象方法 `min` 和一个非抽象方法 `max`。`B` 类继承自 `A` 并实现了 `min` 方法。`Example4_21` 主要展示了如何使用抽象类的实例和方法。 总结来说,这些代码片段展示了Java面向对象编程的基本元素:类、继承、方法重写、多态性以及类型转换。这些都是编写复杂程序的基础,通过它们可以构建出具有层次结构和复用性的软件设计。