Java类设计:继承、重写与多态性解析

需积分: 9 5 下载量 177 浏览量 更新于2024-07-25 收藏 1.9MB PPTX 举报
"尚硅谷的Java基础教程涵盖了Java类设计的核心概念,包括类的继承、方法的重写与覆盖、访问控制、super关键字的使用、多态性以及Object类的主要方法。课程由讲师佟刚主讲,旨在帮助学习者深入理解Java面向对象编程的基本原理和技术。" 在Java编程中,类的继承是面向对象特性之一,它允许我们创建一个新类(子类)基于已存在的类(父类)。这样,子类不仅可以拥有父类的属性和方法,还能添加自己的特定功能。例如,`Person`类和`Student`类的关系,`Student`类通过`extends Person`来继承`Person`类的所有属性(如name、age、birthDate)和方法(如`getInfo()`),同时还可以定义自己的属性(如school)。 方法的重写(Override)和覆盖是指子类可以重新定义父类中已存在的方法,以实现不同的功能。这有助于子类根据自身需求定制行为,而无需修改父类的源代码。在Java中,方法重写需要保持方法签名的一致性,即方法名、返回类型以及参数列表必须相同。 访问控制是Java中用于限制类的成员(属性和方法)可被访问的程度,包括public、protected、默认(包内可见)和private四种级别。合理设置访问控制可以帮助保护数据的安全性,同时控制代码的封装性。 `super`关键字在Java中用于引用父类的成员,可以用来调用父类的构造器或方法。例如,在子类中,如果有一个与父类同名的方法,可以通过`super.getInfo()`来调用父类的`getInfo()`方法。 多态性是面向对象的另一个关键特性,它允许使用父类类型的引用指向子类的对象,从而实现不同子类对象的统一处理。多态性使得代码更具通用性和扩展性,同时也增强了程序的灵活性。 Object类是所有Java类的基类,包含了一些通用方法,如`equals()`(比较两个对象是否相等)、`hashCode()`(返回对象的哈希码)、`toString()`(返回对象的字符串表示)等。了解并熟练使用这些方法对于理解和调试Java程序至关重要。 在Java中,类的继承是单继承的,意味着一个子类只能有一个父类,但一个父类可以有多个子类。这种设计减少了复杂性,但也限制了直接的多重继承。然而,Java通过接口实现了某种程度上的多继承效果。 练习11. 定义一个名为`ManKind`的类,包括成员变量`int sex`和`int salary`,可以这样编写: ```java public class ManKind { private int sex; private int salary; public ManKind(int sex, int salary) { this.sex = sex; this.salary = salary; } // 其他方法,如getters和setters } ``` 在这个例子中,`sex`和`salary`被声明为私有(private),以确保它们只能在`ManKind`类内部访问,符合Java的封装原则。