本资源是一份面向对象程序设计的复习大纲,包含多个知识点,主要涉及接口、类、继承、多态以及字符串操作等内容。以下是对这些关键知识点的详细解析:
1. **接口与实现**:
- 声明接口 `CompurerAverage` 是面向对象编程中的一个概念,它定义了一组方法,但不提供具体实现。类 `B` 实现了这个接口,意味着 `B` 类必须提供接口中所有方法的实现。
- 接口变量的声明用于引用实现了接口的对象,这有助于在设计中强调接口的功能性,而不是具体的实现。
2. **包与类的设计**:
- 包语句 `package compute;` 用于组织和管理类,将相关的类分组在一起,提高代码的可维护性和可重用性。`classSum` 和 `classAverage` 分别是计算类和平均值类,它们可能涉及到基础数学运算和数据处理。
3. **继承与调用父类方法**:
- 类 `Average` 继承自 `Sum` 类,这体现了继承的"is-a"关系,即 `Average` 是 `Sum` 的子类。通过 `average.f()` 调用父类的 `f()` 方法,可以复用已有功能。
4. **对象创建与多态**:
- 在 `Demo` 类的 `main` 方法中,创建了 `Demo` 类的不同实例,如 `p1` 和 `p2`,展示了对象的创建和属性访问。另外,`Animal` 类和其子类 `Dog` 和 `Cat` 展示了多态,通过 `an` 和 `bn` 变量,不同类型的动物对象可以执行各自的 `action()` 方法。
5. **字符串操作**:
- `Demo` 类中的字符串比较部分,`s1` 和 `s2` 是 `String` 类型的实例,`equals()` 方法用于检查两个字符串是否相等,而 `s1="..."` 则是将 `s1` 赋值为字符串常量。
6. **基本类型与包装类型**:
- 在 `Demo` 类的另一个 `main` 方法中,`String s1` 和 `String s2` 是 `String` 类型,表示字符串。然而,`boolean b1` 和 `b2` 则是布尔类型,其中 `b1` 是通过 `equals()` 方法比较字符串,而 `b2` 则是直接将字符串赋值给引用类型,这种做法不推荐,因为会隐式转换为 `boolean` 类型,可能导致预期之外的结果。
这份复习大纲覆盖了面向对象编程的多个核心概念,包括接口的使用、类的继承和多态、字符串操作,以及基础类型的使用。通过学习和练习这些内容,能够加深对面向对象编程的理解和实践能力。