Java方法03 方法的重载
2021/7/22 11:07:33
本文主要是介绍Java方法03 方法的重载,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
方法的重载(Overload)
-
重载就是在一个类中,有相同的方法名称,但形参列表不同的函数,这样的方法之间构成重载关系。
-
方法的重载的规则
- 方法名称必须相同。
- 参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。
- 方法的返回类型可以相同也可以不相同。
- 仅仅返回类型不同不足以成为方法的重载。
-
实现理论:
- 方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。
上(狂神说)下(Java小伙_银子)
===========================================================
体现形式:
方法重载的主要形式有:参数的个数不同、参数的类型不同、参数的顺序不同,与形参变量名和返回值类型无关,但建议返回值类型最好相同。
判断方法是否重载的核心:调用能否区分。
那么在调用这么多个方法名相同的方法的其中一个方法时,该怎么调用呢?
看下图
如果返回值类型不同怎么样?
如下面的例子:
可见,调用方法会改变,而且返回值类型由void转为int时还要在方法体中加入return()语句,才能被调用。
``` JAVA package training; public class 方法重载 { void show(){ System.out.println("show()"); } int show(int i){ System.out.println("show()"); return 0; }
public static void main(String[] args) {
方法重载 ot = new 方法重载();
ot.show();//show() ot.show(66);//show()
}
}
```
重要
/* 变成实现重载体现形式的测试 */ public class OverLoadTest{ //这个show方法就叫这个OverLoadTest类的成员方法 void show(){ System.out.println("show()"); } void show(int i){ //构成方法重载,体现在参数的个数不同 System.out.println("show(int)"); } void show(int i,double d){//构成方法重载,体现在参数的个数不同 System.out.println("show(int,double)"); } void show(int i,int j){//构成方法重载,体现在参数的类型不同 System.out.println("show(int,int)"); } void show(double d,int i){//构成方法重载,体现在参数的顺序不同 System.out.println("show(double,int)"); } /* void show(int d,double i){//error 与形参变量名无关 System.out.println("show(int,double)"); } */ /* int show(){ //error 与返回值类型无关 System.out.println("show()"); } */ public static void main(String[] args){ //声明本类类型的引用 指向本类的对象 OverLoadTest ot = new OverLoadTest(); //调用成员方法 ot.show(); //show() ot.show(66); //show(int) ot.show(66,3.14); //show(int,double) ot.show(66,118); //show(int,int) ot.show(66.0,118);//show(double,int) } }
这篇关于Java方法03 方法的重载的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-19JAVA分布式id教程:轻松入门与实践
- 2024-11-19Java高并发教程:入门与实践指南
- 2024-11-19JAVA高并发直播教程:新手入门指南
- 2024-11-19Java高并发直播教程:入门与实践指南
- 2024-11-19Java微服务教程:初学者快速入门指南
- 2024-11-19JAVA微服务教程:新手入门的详细指南
- 2024-11-19Java微服务教程:从零开始搭建你的第一个微服务应用
- 2024-11-19Java项目开发教程:初学者必备指南
- 2024-11-19Java项目开发教程:新手快速入门指南
- 2024-11-19Java项目开发教程:零基础入门到实战