Java 方法重载 (Overload)
对重载 (Overload) 的认识
为什么要用方法重载:
- 对于功能类似的方法来说,因为参数列表不一样,如果定义不同名称的方法,太麻烦且难以记忆。
- 为了解决这个问题,引入方法的重载。
重载的定义:
- 多个方法的名称一样,但参数列表不一样。
例子:
不使用方法重载
定义三个功能类似的方法
public class TestOverload {
public static int sumOne(int a) {
return a;
}
public static int sumTwo(int a, int b) {
return a + b;
}
public static int sumThree(int a, int b, int c) {
return a + b + c;
}
}使用这三个方法
public static void main(String[] args) {
System.out.println(sumOne(1));
// 输出 1 System.out.println(sumTwo(1, 2));
// 输出 3 System.out.println(sumThree(1, 2, 3));
// 输出 6
}
使用方法重载
定义三个功能类似的方法
public class TestOverload {
public static int sum(int a) {
return a;
}
public static int sum(int a, int b) {
return a + b;
}
public static int sum(int a, int b, int c) {
return a + b + c;
}
}使用这三个方法
public static void main(String[] args) {
System.out.println(sum(1));
// 输出 1 System.out.println(sum(1, 2));
// 输出 3 System.out.println(sum(1, 2, 3));
// 输出 6
}
注意:
方法重载的相关因素:
参数个数不同
public static int sum(int a) {
return a;
}
public static int sum(int a, int b) {
return a + b;
}参数类型不同
public static int sum(int a, int b) {
return a + b;
}
public static int sum(long a, long b) {
return (int) (a + b);
}参数的多类型顺序不同
public static int sum(int a, double b) {
return (int) (a + b);
}
public static int sum(double a, int b) {
return (int) (a + b);
}以上的三个因素都可以进行方法的重载
方法重载的不相关因素:
与参数的名称无关
public static int sum(int a, int b) {
return a + b;
}
public static int sum(int x, int y) {
return x + y;
}与方法的返回值无关
public static double sum(int a, int b) {
return a + b;
}
public static int sum(int a, int b) {
return a + b;
}以上的三个因素都不可以进行方法的重载
总结:
如果有功能类似的方法,可以使用方法重载,这样不仅容易记忆,调用起来也方便。
Java 方法重载 (Overload)的更多相关文章
- java 方法重载overload
一.方法的重载 方法名一样,但参数不一样,这就是重载(overload). 所谓的参数不一样,主要有两点:第一是参数的个数不一样,第二是参数的类型不一样.只要这两方面有其中的一方面不一样就可以构成方法 ...
- 方法重载overload与方法重写overwrite
方法重载overload: 在同一个类中,出现相同的方法名,与返回值无关,参数列表不同:1参数的个数不同 2参数类型不同 在调用方法时,java虚拟机会通过参数列表来区分不同同名的方法 方法重写ove ...
- java方法——重载2
什么是Java方法重载 方法重载的定义 1 对于同一个类,如果这个类里面有两个或者多个重名的方法,但是方法的参数个数.类型.顺序至少有一个不一样,这时候局构成方法重载. END 方法重载示例 1 pu ...
- java基础—方法重载(overload)
一.方法的重载 方法名一样,但参数不一样,这就是重载(overload). 所谓的参数不一样,主要有两点:第一是参数的个数不一样,第二是参数的类型不一样.只要这两方面有其中的一方面不一样就可以构成方法 ...
- java方法重载(overload)、重写(override);this、super关键简介
一.方法重载: 条件:必须在一个类中,方法名称相同,参数列表不同(包括:数据类型.顺序.个数),典型案例构 造方重载. 注意:与返回值无关 二.方法重写: 条件: (1)继承某个类或实现某接口 (2 ...
- Java方法重载
Java允许一个类中定义多个方法,只要参数列表不同就行了.如果同一个类中包含了两个或者两个以上的方法的方法名相同,但形参列表不同,则被称为方法重载. /* 参数类型不同的重载 */ public cl ...
- Java 方法重载,方法重写(覆盖),继承等细节注意
1.方法重载(method overload)的具体规范 如果有两个方法的方法名相同,但参数不一致,那么可以说一个方法是另一个方法的重载. 一.方法名一定要相同. 二.方法的参数表必须不同,包括参数的 ...
- Java 方法重载和多态
先来看看什么是方法重载? 方法重载的要求是:方法名相同,参数列表不同(不同的参数类型或者参数顺序或者参数个数).至于方法的其他部分,如方法返回值类型和修饰符,与方法重载没有任何关系.最好加上@Over ...
- Java 方法重载与引用数组类型
1.方法重载 1)方法的签名 方法的签名包含方法名和参数列表 一个类中,不可以有两个方法的签名完全相同,即一个类中不能有两个方法的方法名和参数列表都一样. public class Test{ pu ...
随机推荐
- Kotlin基本语法和使用技巧
基本语法 val value: String? = "HelloWorld" val name: String = getName() ?: return //如果是null就re ...
- bootstrap准备工作(1)
1.下载bootstrap包 http://v3.bootcss.com/getting-started/#download 2.下载结构 如果要用js里面的js效果,需要先插入juqery.js & ...
- 防御 DDoS 的终极奥义——又拍云 SCDN
现如今不论是年轻的 80.90 后,还是 70.60 后,都在享受互联网带来的舒适和便利.在家就可以"逛商场",完全不受时间的限制:在线支付既方便又安全:业余娱乐项目多种多样,打农 ...
- FFmpeg(二) 解封装相关函数理解
一.解封装基本流程 ①av_register_All()////初始化解封装,注册解析和封装的格式. ②avformat_netword_init()//初始化网络,解析rtsp协议 ③avforma ...
- 【Java】 读取Txt文件 处理数据
@RequestMapping("/importTxt") public String readTxtPoints(@RequestParam("file") ...
- php微信支付v3版本签名生成
前几天需要对接微信支付卡包营销活动需要对接微信新版SDKv3版 签名生成规则,微信的官方文档里面说明的还算可以吧,不过个人觉得不太理想- -. 自己调试的时候调试了半天才找了错误原因. https: ...
- 爬虫 xpath
xpath简介 1.xpath使用路径表达式在xml和html中进行导航 2.xpath包含标准函数库 3.xpath是一个w3c的标准 xpath节点关系 1.父节点 2.字节点 3.同胞节点 4. ...
- 直线扫描转换-DDA算法
直线扫描转换-DDA算法 直线段的扫描转换算法 已知两个点,求直线. 为了在光栅显示器上用这些离散的像素点逼近这条直线,需要知道这些像素点的x,y坐标. 求出过P0,P1的直线段方程: y=kx+b ...
- 算法学习之剑指offer(九)
一 题目描述 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). public class Solution ...
- DRF框架学习总结
DRF框架安装配置及其功能概述 Django与DRF 源码视图解析 DRF框架序列化和返序列化 DRF框架serializers中ModelSerializer类简化序列化和反序列化操作 DRF源码s ...