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 ...
随机推荐
- #pragma 处理警告 clang diagnostic 的使用
首先#pragma在本质上是声明,常用的功能就是注释,尤其是给Code分段注释:而且它还有另一个强大的功能是处理编译器警告,但却没有上一个功能用的那么多. clang diagnostic 是#pra ...
- PyCharm+Miniconda3安装配置教程
PyCharm是Python著名的Python集成开发环境(IDE) conda有Miniconda和Anaconda,前者应该是类似最小化版本,后者可能是功能更为强大的版本,我们这里安装Minico ...
- 整合Spring Security(二十七)
在这一节,我们将对/hello页面进行权限控制,必须是授权用户才能访问.当没有权限的用户访问后,跳转到登录页面. 添加依赖 在pom.xml中添加如下配置,引入对Spring Security的依赖. ...
- js实现页面与页面之间传值的几种方法优劣
1. cookie 传值, 缺点: cookie储存是需要服务器支持的,本地直接运行静态文件是实现不了的 <script> //添加 cookie function cp_add_cook ...
- python requests 的cookie 操作
结论: 1.requests模块的请求和响应分别有cookie对象. 可以通过此对象设置和获取cookie. 2.通过在requests.get,requests.post等方法请求中传入cookie ...
- 求1+2+……+n的和
题目描述 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). class Solution { public ...
- sys 模块
import sys #环境变量 print(sys.path) #查看已经加载的模块 print(sys.modules) #获取终端调用时的参数 print(sys.argv) #获取解释器的版本 ...
- In-App Purchase iap 内付费 二次验证代码 (java 服务器端)
参考网址:https://blog.csdn.net/a351945755/article/details/22919533 package com.yichangmao.buyVerify.Comm ...
- SpringMVC防止表单重复提交
最近公司上线,有同志进行攻击,表当防重复提交也没有弄,交给我 ,本人以前也没弄过,知道大概的思路,但是那样实在是太麻烦了,虽然后面试过使用过滤器加拦截器实现,不过还是有点小麻烦. 后来在网上搜索后发现 ...
- [Linux]Linux下Apache服务器配置
Linux下Apache服务器配置 相关包: httpd-2.2.3-29.e15.i386.rpm //主程序包 httpd-devel-2.2.3-29.e15.i ...