java方法的重载
重载(overloading) 是在一个类里面(或者子类),方法名字相同,而参数不同。返回类型可以相同也可以不同。每个重载的方法(或者构造方法)都必须有一个独一无二的参数类型列表。最常用的地方就是构造器的重载。
Java编译器根据方法签名判断哪个方法应该被调用。
方法重载可以让程序更清晰易读。执行密切相关任务的方法应该使用相同的名字。
重载的方法必须拥有不同的参数列表。你不能仅仅依据修饰符或者返回类型的不同来重载方法。
如图:
重载规则
被重载的方法必须改变参数列表(参数个数或类型或顺序不一样);
被重载的方法可以改变返回类型;
被重载的方法可以改变访问修饰符;
被重载的方法可以声明新的或更广的检查异常;
方法能够在同一个类中或者在一个子类中被重载。
无法以返回值类型作为重载函数的区分标准。
比较:
方法重写:方法重写可以用“一个前提、三个相同和两个规定”来总结,前提是在继承体系结构下,三个相同代表子类中定义的方法与父类中的方法,具有相同的名字、参数列表和返回值类型,两个规定分别是子类方法的范围限定不能比父类方法的范围小,以及不能抛出更多的异常。当然,final类型的方法和static类型的方法是不能被重写的。
方法重载和方法重写都属于java对象多态的概念解析。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)