JavaSE进阶:面向对象的继承与方法重写

需积分: 0 0 下载量 194 浏览量 更新于2024-08-03 收藏 2.54MB PDF 举报
"JavaSE进阶 面向对象继承" 在Java编程语言中,面向对象的继承是一种机制,允许一个类(子类)继承另一个类(父类)的属性和方法,以此来实现代码的复用和扩展。通过使用`extends`关键字,子类可以获得父类的所有非私有成员,包括公共属性和方法。这种方式有助于减少代码冗余,并增加类的功能性。 1. 继承的优点: - 代码复用:子类可以直接使用父类的公共属性和方法,避免重复编写相似的代码。 - 扩展性:通过继承,子类可以在保留父类功能的基础上增加新的特性和行为,实现类的功能扩展。 2. 设计规范: - 共性原则:父类应包含子类共同的属性和方法,子类则保留自己的独特属性和行为。 3. 继承的特点: - 构造器:子类不能直接继承父类的构造器,但可以通过`super()`调用父类的构造器初始化父类的部分。 - 私有成员:子类可以继承但无法直接访问父类的私有成员,只能通过公共的getter/setter方法进行间接访问。 - 静态成员:子类可以直接使用而非继承父类的静态成员,因为静态成员是类级别的,而不是实例级别的。 - 单继承:Java支持单继承,即一个类只能有一个直接父类,但可以有多层继承(子类继承孙子类等)。 - 多层继承:子类可以继承父类,而父类又可以继承其父类,形成继承链。 - Object类基础:Java中所有类都隐式继承了Object类,因此具有Object类的默认方法。 4. 方法重写(Override): - 方法重写是子类对父类中同名方法的一种覆盖,以实现不同的功能或优化性能。 - 要求:方法名、参数列表必须与被重写的方法完全一致;重写方法的访问权限不能低于被重写方法的权限;私有方法不能被重写。 - 使用`@Override`注解:该注解可以辅助编译器检查重写方法的正确性,提高代码的可读性和可靠性。 - 示例:子类可以通过`super.方法名`调用父类的方法,然后添加自己的实现逻辑。 在提供的部分代码中,`Test`类用于测试,`Pet`类作为父类,`Cat`类继承`Pet`并重写了`print`方法。`main`方法创建了`Cat`对象,并调用其`print`方法,展示了方法重写的应用。