Java面向对象(9)--方法的重写(override/overwrite)

简介: Java面向对象(9)--方法的重写(override/overwrite)

在子类中可以根据需要对从父类中继承来的方法进行改造,也称为方法的重置、覆盖。在程序执行时,子类的方法将覆盖父类中同名同参数列表的方法。


权限修饰符 返回值类型 方法名(形参列表) throws 异常类型{
  方法体;
}


①子类重写的方法必须和父类被重写的方法具有相同的方法名称、参数列表。


②子类重写的方法使用的权限修饰符不小于父类被重写的方法的权限修饰符。


③子类不能重写父类中声明为private权限的方法,若子类中出现了与父类中同名同参列表的方法,不属于重写。


④父类被重写的方法的返回值类型是void,则子类重写的方法的返回值类型只能是void。父类被重写的方法的返回值类型是A类型,则子类重写的方法的返回值类型可以是A类或A类的子类。父类被重写的方法的返回值类型是基本数据类型(比如: double),则子类重写的方法的返回值类型必须是相同的double类型。


⑤子类重写的方法抛出的异常不大于父类被重写方法抛出的异常。


子类与父类中同名同参数的方法必须同时声明为非static的(即为重写),或者同时声明为static的(不是重写)。



相关文章
|
19小时前
|
Arthas 存储 监控
性能监控之常见 Java Heap Dump 方法
【6月更文挑战8天】性能监控之常见 Java Heap Dump 方法
21 7
|
22小时前
|
安全 Java
Java 面向对象之旅:在封装的港湾中,找到代码的安宁。
【6月更文挑战第15天】封装是Java面向对象的核心,它保护了类的内部数据,如`Book`和`Student`类中的属性。通过设定私有成员和公共方法,代码更有序,防止直接访问导致的混乱。封装提供了一种控制数据交互的方式,确保安全,如`setGpa()`方法验证输入。这使得代码结构清晰,如同港湾中的船只,井然有序,赋予编程过程美感和安全感。在面向对象的旅程中,封装是我们的庇护所,助力我们构建更美好的程序世界。
|
1天前
|
设计模式 Java
一文掌握 Java 面向对象精髓:从类定义到对象实战
【6月更文挑战第15天】Java面向对象编程初学者指南:类是对象模板,如`Person`类含`name`和`age`属性。创建对象用`new`,如`Person person = new Person()`。访问属性如`person.name="Alice"`,调用方法如`person.sayHello()`。类能继承,如`Student extends Person`。对象间共享数据可传参或共用引用。多态性允许父类引用调用子类方法。注意对象生命周期和内存管理,避免内存泄漏。通过实践和理解这些基础,提升编程技能。
|
1天前
|
Java
深入 Java 面向对象:类的定义,竟然藏着这么多门道!
【6月更文挑战第15天】Java中的类定义是OOP的基础,它封装属性(如Student的name和age)和行为(如study())。简单的类仅触及表面,而复杂的类可模拟真实世界对象的多样性和交互。类还可通过继承扩展,如Student从Person派生,增加特有属性和行为。接口和抽象类等概念进一步增强了灵活性和可扩展性。类定义的深度和广度是构建高效、可维护代码的关键。
|
2天前
|
数据可视化 Java 测试技术
[笔记] 疯狂JAVA讲义(第3版) 第2章 理解面向对象
[笔记] 疯狂JAVA讲义(第3版) 第2章 理解面向对象
|
2天前
|
缓存 Java 程序员
[笔记] 疯狂JAVA讲义(第3版)第6章 面向对象(下)
[笔记] 疯狂JAVA讲义(第3版)第6章 面向对象(下)
|
9月前
|
Java
JAVA方法的定义
JAVA方法的定义
45 0
|
18天前
|
存储 Java
Java数组与带参数方法:定义、调用及实践
Java数组与带参数方法:定义、调用及实践
21 1
|
18天前
|
存储 Java
Java中带返回值方法的定义与调用技术
Java中带返回值方法的定义与调用技术
20 1
|
1月前
|
Java
Java一分钟之-方法定义与调用基础
【5月更文挑战第8天】本文介绍了Java编程中的方法定义和调用,包括基本结构、常见问题和避免策略。方法定义涉及返回类型、参数列表和方法体,易错点有返回类型不匹配、参数错误和忘记返回值。在方法调用时,要注意参数传递、静态与非静态方法的区分,以及重载方法的调用。避免错误的策略包括明确返回类型、参数校验、理解值传递、区分静态和非静态方法以及合理利用重载。通过学习和实践,可以提升编写清晰、可维护代码的能力。
22 0