系列十一、重载 & 重写

一、重载 & 重写

1.1、重载

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

1.2、重写

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

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

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

1.4、构造器constructor是否可被override

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

相关推荐
咖啡八杯3 小时前
GoF设计模式——策略模式
java·后端·spring·设计模式
用户1285261160211 小时前
我把祖传Java项目重构后,接口响应从3s砍到了200ms,只改了这几行代码
java
Linsk11 小时前
组件 = 模板 + 业务逻辑
java·前端·vue.js
星沉远浦12 小时前
用Gemini高效解决Java代码报错难以定位的问题
java
用户2986985301415 小时前
Word 文档字符级格式化:Java 实现方案详解
java·后端
笨鸟飞不快16 小时前
从单个服务到集群:一次完整的性能排查复盘
java·前端
荣码16 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
SamDeepThinking16 小时前
Java微服务练习方式
java·后端·微服务
朦胧之1 天前
AI 编程-老项目改造篇
java·前端·后端
程序猿大帅1 天前
别再只当调包侠了:用 Spring AI 落地 Function Calling,我被大模型硬生生砸出了三个大坑
java