Java方法重载浅谈

目录:

  1. 方法重载的定义
  2. 方法重载的满足条件
  3. 方法重载的传递
    • 基本类型
    • 引入类型
  4. 方法重载的好处

方法重载的定义以及满足条件:

定义:

方法重载指同一类中定义多个方法之间的联系;

满足方法重载的条件:

  1. 多个方法在同一个类中
  2. 多个方法具有相同的方法名
  3. 多个方法的参数不同、类型不同、数量不相同

条件解释:

在同一个Moverloading类下,并且多个相同的方法名的类型不同-->int、boolean、void(无类型)

package 方法;

public class Moverloading {
public static void main(String[] args) {
public static void getmax(){
//方法体
} public static int getMax(){
//方法体
} public static boolean getmax(){
//方法体
}
}
}

多个方法的参数不同、类型不同、数量不同:

参数不同:

package 方法;

public class Moverloading {
public static void main(String[] args) {
public static void getmax(String name){
//方法体
} public static void getMax(int age){
//方法体
}
}
}

类型不同:

package 方法;

public class Moverloading {
public static void main(String[] args) {
public static void getmax(String name){
//方法体
} public static void getMax(int age){
//方法体
}
}
}

数量不同:

package 方法;

public class Moverloading {
public static void main(String[] args) {
public static void getmax(String name){
//方法体
} public static void getMax(String name,int age){
//方法体
}
}
}

方法重载的传递:

例子:

package 方法;

public class functTansale {
public static void main(String[] args) {
int num =100;
System.out.println(num);
System.out.println("-------------");
int callback = Change(num);
System.out.println(callback);
}
public static int Change(int num){
num = 200;
return num;
}
}

在数组中传递:

package 方法;

public class arryTranslate {
public static void main(String[] args) {
int[] arr = {10,20,30};
System.out.println(arr[1]);
System.out.println("---------");
change(arr);
System.out.println(arr[1]); }
public static void change(int[] arr){
arr[1] = 100; }
}

重载的好处:

不用为了对不同的参数类型或参数个数,而写多个函数,系统可以自动匹配;

多个函数用同一个名字,但参数表,即参数的个数或(和)数据类型可以不同,调用的时候,虽然方法名字相同,但根据参数表可以自动调用对应的函数。

这样我们在调用的时候,就不需要记那么多的方法名称,而是知道了方法的功能就可以直接的给他传递不同的参数,编译器会明确的知道我们调用了哪一个方法。重载比if...else要优雅,减少了if...else部分的代码。


练习:

数组遍历(应用)

数组最大值(应用)

代码链接:https://github.com/xbhog/JavaBasis/blob/master/JavaStudy/src/day5/ArrTraveMax.java

结束:

之前方法重载部分理解有些问题,解决后记录下来,后面方便理解,不对之处欢迎指出,谢谢!

重载的具体内容参考:https://www.cnblogs.com/xbhog/p/13454021.html

Java方法重载浅谈的更多相关文章

  1. java方法——重载2

    什么是Java方法重载 方法重载的定义 1 对于同一个类,如果这个类里面有两个或者多个重名的方法,但是方法的参数个数.类型.顺序至少有一个不一样,这时候局构成方法重载. END 方法重载示例 1 pu ...

  2. java反射机制浅谈

    一.Java的反射机制浅谈 最近研究java研究得很给力,主要以看博文为学习方式.以下是我对java的反射机制所产生的一些感悟,希望各位童鞋看到失误之处不吝指出.受到各位指教之处,如若让小生好好感动, ...

  3. Java方法重载

    Java允许一个类中定义多个方法,只要参数列表不同就行了.如果同一个类中包含了两个或者两个以上的方法的方法名相同,但形参列表不同,则被称为方法重载. /* 参数类型不同的重载 */ public cl ...

  4. Java 方法重载,方法重写(覆盖),继承等细节注意

    1.方法重载(method overload)的具体规范 如果有两个方法的方法名相同,但参数不一致,那么可以说一个方法是另一个方法的重载. 一.方法名一定要相同. 二.方法的参数表必须不同,包括参数的 ...

  5. java方法重载和重写

    1.java的方法重载和重写,表示两种不同的类型.this关键字,出现在类的构造方法中,代表使用该构造方法所创建的对象.,this可以出现在实例方法中核构造方法中.但是不能出现在类方法中.实例方法只能 ...

  6. Java 方法重载 方法重写

    方法重载规则 参数个数不同 参数个数相同,但参数列表中对应的某个参数的类型不一样 方法的返回类型和参数名称不参与重载 "编译期绑定",,因为未产生对象,只看参数.引用类型绑定方法 ...

  7. [Java学习] Java方法重载

    在Java中,同一个类中的多个方法可以有相同的名字,只要它们的参数列表不同就可以,这被称为方法重载(method overloading). 参数列表又叫参数签名,包括参数的类型.参数的个数和参数的顺 ...

  8. 【知了堂学习笔记】java 方法重载与重写的归纳

    方法重载:Java的方法重载,就是在类中可以创建多个方法,它们可以有相同的名字,但必须具有不同的参数,即或者是参数的个数不同,或者是参数的类型不同.调用方法时通过传递给它们的不同个数和类型的参数来决定 ...

  9. Java 方法重载和多态

    先来看看什么是方法重载? 方法重载的要求是:方法名相同,参数列表不同(不同的参数类型或者参数顺序或者参数个数).至于方法的其他部分,如方法返回值类型和修饰符,与方法重载没有任何关系.最好加上@Over ...

  10. java——方法重载与重写、构造方法、this关键字、static关键字、strictfp关键字、类的导入

    Java SE5新增加@Override注解,它并不是关键字,但是可以把它当作关键字使用.当你想要覆写(重写)某个方法时,可以选择添加这个注解,在你不留心重载而并非覆写了该方法时,编译器就会生成一条错 ...

随机推荐

  1. java基础-常用类-day11

    目录 1. 包装类 2. Integer类 3.util.date 4. java.sql.Date 5. SimpleDateFormat 6. Calendar 7. Math 8. String ...

  2. 使用ProjectQ生成量子算法指令集

    技术背景 所谓的指令集,按照字面意思来理解就是计算机底层允许使用的操作指令的集合.在量子计算机领域,由于实现方案的不同,在不同的体系内的指令集其实是不一样的,并不是说OpenQASM里面的所有指令都会 ...

  3. Git Clone一个GitHub仓库时,发生报错

    1.问题 1.使用HTTP方式:Git: fatal: unable to access ' https://github. com/Light-City/CPlusPlusThings. git/' ...

  4. 达梦数据库varchar和nvarchar的验证

    达梦数据库varchar和nvarchar的验证 测试SQL create tablespace zhaobsh datafile '/opt/dmdbms/data/DAMENG/zhaobsh.d ...

  5. linux获取文件或者是进程精确时间的方法

    linux获取文件或者是进程精确时间的方法 背景 很多时候需要精确知道文件的具体时间. 也需要知道进程的开始的精确时间. 便于进行一些计算的处理. 其实linux里面有很多方式进行文件属性的查看. 这 ...

  6. [转帖][minio]挂载minio到本地

    https://www.cnblogs.com/XY-Heruo/p/16489190.html 前言 将minio的bucket挂载到本地文件系统 环境 客户端系统版本:centos 7 MinIO ...

  7. [转帖]关于redis,你需要了解的几点!

    github:https://github.com/windwant 博客园 首页 新随笔 联系 订阅 管理 随笔 - 227  文章 - 4  评论 - 36  阅读 - 73万   一.关于 re ...

  8. F5内核参数的简要学习

    前言 最近学习了很长时间的Linux内核参数 但是大部分是纸上谈兵. 也没有一个好的系统用于学习和参照 晚上搜索F5资料时发现F5有一些iso和ova文件 就想着下载学习一下. 看看F5系统默认的参数 ...

  9. DBeaver连接国产信创数据库的步骤

    DBeaver连接国产信创数据库的步骤 本次连接使用的数据库类型 1.达梦 2.神通 3.人大金仓 4.瀚高 安装DBeaver 通过官网或者是其他网站下载最新的数据库介质 之后的操作为: 这次不感谢 ...

  10. express学会CRUD

    使用express 搭建项目 1==> express 项目名 -e 2==> 然后按照提示就可以了 cd 项目名 3==>进入项目 下载依赖 cnpm i 4==>启动项目 ...