Java中的方法重载
一.什么是方法重载?
方法重载就是两个或多个方法的方法名相同,但是方法的形参类型,数量,顺序不同。
上面提到的三点也就是一个方法的特征标,只要有一点不相同,则该方法就不相同,就可以实现重载。
在这里的重点是:实参与形参的匹配问题:
1.由低等级转向高等级
第一个就是类型提升的问题:byte->short->int->long->float->double(在普通的计算byte short char 不会相互转化)
但是char会直接提升为int型不会转化为byte和short
2.由高级转向低级必须要在参数传入时进行强制转化
例子如下:
package com.cjm.inititalize; /**
* Java中的 函数重载
*
* @author 小明
*
*/
public class FunctionOverLoading {
/*
* 函数重载形参与实参的类型提升问题
*/
// ##############################
public void f1(char x) {
System.out.println("char");
} public void f1(int x) {
System.out.println("int");
} public void f1(byte x) {
System.out.println("byte");
} public void f1(short x) {
System.out.println("short");
} public void f1(long x) {
System.out.println("long");
} public void f1(float x) {
System.out.println("float");
} public void f1(double x) {
System.out.println("double");
} // #######################################
public void f2(byte x) {
System.out.println("byte");
} public void f2(short x) {
System.out.println("short");
} public void f2(long x) {
System.out.println("long");
} public void f2(float x) {
System.out.println("float");
} public void f2(double x) {
System.out.println("double");
} public void f2(int x) {
System.out.println("int");
} // ###################################
public void f3(short x) {
System.out.println("short");
} public void f3(long x) {
System.out.println("long");
} public void f3(float x) {
System.out.println("float");
} public void f3(double x) {
System.out.println("double");
} public void f3(int x) {
System.out.println("int");
} // ####################################
public void f4(long x) {
System.out.println("long");
} public void f4(float x) {
System.out.println("float");
} public void f4(double x) {
System.out.println("double");
} public void f4(int x) {
System.out.println("int");
} // #######################################
public void f5(long x) {
System.out.println("long");
} public void f5(float x) {
System.out.println("float");
} public void f5(double x) {
System.out.println("double");
} // #######################################
public void f6(float x) {
System.out.println("float");
} public void f6(double x) {
System.out.println("double");
} // #########################################
public void textInt() {
System.out.println("当形参为int型的5时:");
f1(5);
f2(5);
f3(5);
f4(5);
f5(5);
f6(5);
} public void textChar() {
System.out.println("当形参为字符型时:");
f1('c');
f2('c');
f3('c');
f4('c');
f5('c');
f6('c');
}
public void textByte() {
System.out.println("当形参为byte型的5时:");
byte b=5;
f1(b);
f2(b);
f3(b);
f4(b);
f5(b);
f6(b);
}
public void textLong() {
System.out.println("当形参为long型的5时:");
long b=5;
f1(b);
f2(b);
f3(b);
f4(b);
f5(b);
f6(b);
}
public static void main(String[] args) {
FunctionOverLoading f = new FunctionOverLoading();
f.textByte(); }
}
结果如下:
当形参为byte型的5时:
byte
byte
short
int
long
float
当形参为字符型时:
char
int
int
int
long
float
当形参为int型的5时:
int
int
int
int
long
float
当形参为long型的5时:
long
long
long
long
long
float
Java中的方法重载的更多相关文章
- 如何区分Java中的方法重载和重写
首先说的是重载: 方法的重载 * 在同一个类中,方法名相同,参数列表不同.与返回值类型无关. * 参数列表不同: * A:参数个数不同 * B:参数类型不同 * C:参数的顺序不同(不算重载 报错) ...
- java中的方法——重载yu重写(转)
重载(Overloading) (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段.多个同名函数同时存在,具有不同的参数个数/类型. 重载Overloading是一个类中多态性的一种表现. ...
- java中的方法重载与重写以及方法修饰符
1. 方法重载Overloading , 是在一个类中,有多个方法,这些方法的名字相同,但是具有不同的参数列表,和返回值 重载的时候,方法名要一样,但是参数类型和参数个数不一样,返回值类型可以相同,也 ...
- java中的方法重载(overload)
什么时候方法重载:当两个方法的功能是相似的,可以考虑使用方法重载.若两个方法根本没有关系,无必要使用方法重载. 什么时候代码会发生方法重载:三个条件:1,在同一个类中.2,方法名相同.3,参数列表相同 ...
- 062、Java中的方法重载
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- Java中的方法重载与方法重写
重载(overload) 重载是在一个类中,同名方法拥有不同的参数列表则视为重载.不同的参数列表包括:参数数量不同,参数类型不同,参数顺序不同.重载对于返回类型没有要求,所以不能通过返回类型去判断是否 ...
- java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思?重写跟重载的区别?
java中的方法重载发生在同一个类里面两个或者多个方法的方法名相同但是参数不同的情况.与此相对,方法覆盖是说子类重新定义了父类的方法.方法覆盖必须有相同的方法名,参数列表和返回类型. 覆盖者可能不会限 ...
- Java中的方法和方法重载
上次我们讲了Java中的一些基本的语法;今天我们就讲一点内容,来说说Java中的方法和方法重载以及需要注意的一些地方; 方法: Java的方法类似与其他语言的函数,是一段用来完成特定功能的代码片段, ...
- Java中的方法应用
一.如何定义java中的方法 所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块. 语法: 1. 访问修饰符:方法允许被访问的权限范围, 可以是 public.protected.priv ...
随机推荐
- [contest 781] 9.6
[contest 781] 9.6 - XJOI czx的温暖题... T1 军训
- python 文件的打开与读取
python 文件的打开与读取 其实网上其他人写的都挺好的,我也是看他们的.办公室用的2.7.笔记本用的3.6.发现没有file 类,尴尬了 with open(r'C:\Users\HBX\Docu ...
- Linux安装Nginx报错: ./configure: error: C compiler cc is not found
CentOS 7.3 下 安装 Nginx 执行配置命令 ./configure 时提示以下错误: checking for OS + Linux 2.6.32-431.el6.x86_64 x86_ ...
- ubuntu16.10安装网易云音乐
首先去官网(https://music.163.com/#/download)下载安装包:netease-cloud-music_1.1.0_amd64_ubuntu.deb 下载好以后,执行安装命令 ...
- Win10系列:VC++媒体播放控制3
(5)添加视频进度条 视频进度条可以用来显示当前视频的播放进度,并可以通过拖动视频进度条来改变视频的播放进度.接下来介绍如何实现视频进度条,首先打开MainPage.xaml文件,并在Grid元素中添 ...
- 【1】windows下IOS开发基础环境搭建
一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包: ...
- learning ddr RTT
Rtt: Dynamic ODT.DDR3引入的新特性.在特定的应用环境下为了更好的在数据总线上改善信号完整性, 不需要特定的MRS命令即可以改变终结强度(或者称为终端匹配).在MR2中的A9和A10 ...
- 网络基础协议part 1
1.计算机与计算机之间如何进行联系? 两个独立的计算机是无法进行交流的,如同人一样,如果没有语言的存在就不能正常的交流.而在计算机领域,互联网协议就如同一门计算机与计算机交流的语言.但是为了全世界人们 ...
- Uva 10635 - Prince and Princess 问题转化,元素互不相同(在自身序列中独特)的两个数列的LCS,LIS 难度: 2
题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...
- DoTween动画中的几种函数。
1.transform.DOLocalMoveX(200, 1).From(true); 动画默认是从当前位置沿着X轴移动到x=200的位置. 加上Form变为从X=200的位置移动到当前位置,fro ...