Java期末复习:面向对象与抽象类实例

需积分: 9 1 下载量 51 浏览量 更新于2024-07-31 收藏 128KB PPT 举报
Java期末复习题涵盖了面向对象编程的基础概念和抽象类的运用。以下是针对题目中的三个部分进行的详细解析: 1. 继承与构造函数的使用: 在给出的第一个代码片段中,定义了一个名为`Student`的基本类,它有`number`和`name`两个属性,以及两个构造函数:一个无参构造函数和一个带有参数的构造函数。无参构造函数用于创建对象时没有提供初始值的情况,而带参构造函数则是用来初始化对象的属性。在`Univer_Student`类中,`extends Student`表明它是`Student`类的子类,并添加了一个布尔型变量`婚否`,同时重写了父类的构造函数,以设置额外的属性。实例化`Univer_Student`对象`zhang`时,会调用父类构造函数并打印出其属性。 2. 抽象类和方法实现: 第二个部分涉及抽象类`A`,它声明了一个抽象方法`min`,这意味着`A`不能被实例化,必须由它的子类来实现。`B`类继承自`A`,并且提供了`min`方法的具体实现,即返回两个整数中较小的一个。在`Example4_21`的`main`方法中,首先创建了`A`类型的引用`a`,但实际是`B`类型的对象`b`。这展示了向上转型的概念。程序输出了`b`对象的`max`和`min`方法的结果,然后将`B`对象赋值给`A`类型的引用,再次调用`max`方法,结果保持不变,因为`max`方法在`A`和`B`中都是相同的。 3. 类的继承与多态性: 最后一部分展示了继承和多态性的应用。`Animal`是一个基类,它有一个简单的构造函数。`Cat`类继承自`Animal`,并扩展了父类的行为,添加了自己的构造函数和特定于`Cat`的行为。在`main`方法中,虽然`Cat`类的实例被赋给了`Animal`类型的引用`a`,但是调用`Cat`类特有的`main`方法时,输出的是`Cat`构造函数的消息。这体现了多态性,即同一个引用可以指向不同子类的对象,但调用的方法取决于实际对象的类型。 总结来说,这份期末复习题着重考察了Java的面向对象特性,包括类的继承、构造函数的使用、抽象类和方法的实现,以及多态性在实例化和方法调用中的体现。这些知识点对于理解Java的继承层次结构和设计模式至关重要,也是期末考试可能涉及到的核心内容。复习时,不仅要掌握语法,还要理解这些概念如何在实际编程中发挥作用。