系列十一、重载 & 重写

一、重载 & 重写

1.1、重载

发生在同一个类中,方法名必须相同。实质表现就是多个具有不同的参数个数或者类型的同名函数,返回值类型可随意,不以返回值类型作为函数重载的标准。

1.2、重写

发生在具有继承关系的父、子类中。方法名、参数列表必须相同,是父类与子类之间的多肽性,实质是对父类的函数重新定义。返回值范围小于等于父类,抛出的异常小于等于父类,访问修饰符大于等于父类,需要注意的是:如果父类的某个方法被私有化了,那么该方法不允许被继承。

1.3、Java的构造方法能否被重写和重载

重写发生在具有继承关系的父子类中,重写的方法名不变,而类的构造方法与类名一致,假设父类的构造方法能够被子类重写,那么子类类名必须与父类类名相同,显然这是不可以的,所以Java的构造方法是不能被重写的。方法重载发生在同一个类中,表现是方法名相同,返回值类型或者参数不同即可,故构造方法可以被重载。

1.4、构造器constructor是否可被override

父类的私有属性和构造方法不能被overide(重写),但是可以overload(重载),所以可以看到一个类中有多个构造方法。

相关推荐
karry_k14 小时前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
karry_k14 小时前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端
SamDeepThinking18 小时前
从源码到代码:MyBatis-Flex 与 MyBatis-Plus 的逐项对比
java·后端·程序员
她的男孩21 小时前
Spring Boot 接 Flowable 工作流:用 3 个注解搭一个请假审批流程
java·后端·架构
荣码1 天前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python
plainGeekDev1 天前
Gson → kotlinx.serialization
android·java·kotlin
小bo波1 天前
Java Swing 图形用户界面实验 —— 从算术练习到游戏开发的完整实践
java·课程设计·gui·游戏开发·扫雷·swing
咖啡八杯1 天前
GoF设计模式——备忘录模式
java·后端·spring·设计模式