Java继承与多态:覆盖示例与访问控制解析

需积分: 3 1 下载量 128 浏览量 更新于2024-08-18 收藏 788KB PPT 举报
"该资源是关于Java编程的第五章学习笔记,主要涵盖了消息、继承机制、多态机制、访问控制以及抽象类、接口与包等内容。通过一个覆盖方法的示例展示了子类如何重写父类的方法。" 在这个Java学习资料中,重点讲述了以下几个关键知识点: 1. **消息**: - 消息是面向对象编程中对象间通信的方式,它表现为对对象的数据成员或成员方法的引用。 - 发送者和接收者:发送消息的对象和接收消息的对象。 - 消息的三个特性:同一对象可以响应多种不同消息,相同消息发送给不同对象可能产生不同响应,以及消息发送时无需知道具体接收者。 2. **访问控制**: - 访问控制决定了类及其成员的可见性范围,影响了其他类对它们的访问权限。 - Java中有四种访问控制修饰符:`private`、默认(无修饰符)、`protected`和`public`。 - `private`仅限于在同一类内访问,`default`(无修饰符)在同一包内访问,`protected`允许在同一包和不同包的子类中访问,而`public`则对所有类开放。 3. **继承机制**: - 示例中,`Employee`类被`Secretary`和`Manager`类继承,体现了继承的基本概念。 - 子类可以覆盖(override)父类的方法,如`salary()`方法,使得每个子类都有自己的实现。 4. **多态机制**: - 多态允许不同的对象对同一消息做出不同的响应,是面向对象的重要特性。 - 示例中,`Employee`、`Secretary`和`Manager`虽然都有`salary()`方法,但每个类的实现不同,体现了多态性。 5. **抽象类、接口与包**: - 抽象类是不能实例化的类,通常用于定义共同接口或基类。 - 接口是一种完全抽象的类型,用于定义一组方法签名,实现多继承。 - 包(package)用于组织类,提供命名空间和访问控制。 通过`EmployeeSalary`类的`main`方法示例,我们看到`Secretary`、`Manager`和`Employee`对象分别调用`salary()`方法,展示了多态性和覆盖的概念。子类`Secretary`和`Manager`覆盖了父类`Employee`的`salary()`方法,因此打印出各自特定的薪水信息,而不是父类的默认信息。这进一步强调了Java中继承和多态的实际应用。