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. ASP.NET Core 5.0 MVC 视图组件的用法

    什么是视图组件 视图组件与分部视图类似,但它们的功能更加强大. 视图组件不使用模型绑定,并且仅依赖调用时提供的数据.它也适用于 Razor 页. 视图组件: 呈现一个区块而不是整个响应. 包括控制器和 ...

  2. 为R Markdown配置TinyTex编译环境

    技术背景 在前面一篇博客中,我们介绍了一些关于在Windows系统上安装R Studio来编写R Markdown,最后编译成Beamer的演示文档的过程.而在Windows系统的使用过程中发现,编译 ...

  3. VMware虚拟机部署Linux Ubuntu系统的方法

      本文介绍基于VMware Workstation Pro虚拟机软件,配置Linux Ubuntu操作系统环境的方法.   首先,我们需要进行VMware Workstation Pro虚拟机软件的 ...

  4. Oracle19c 多字符集支持的PDB

    Oracle19c 多字符集支持的PDB 背景 想在一个数据库里面支持多种字符集 突然发现Oracle12c开始已经可以实现一个CDB下面可以有多个不同字符集的PDB了 所以想着今天验证一下. 环境信 ...

  5. [转帖]KVM调整磁盘大小

    https://www.jianshu.com/p/5ca598424eb9 一台win10的虚拟机磁盘空间不足了,需要调整磁盘的大小.上网搜索KVM调整磁盘大小,结果得出的博客都说只有raw格式的能 ...

  6. [转帖]SYSTEMD 配置文件

    https://www.cnblogs.com/xiexun/p/13643952.html [Unit]区块通常是配置文件的第一个区块,用来定义 Unit 的元数据,以及配置与其他 Unit 的关系 ...

  7. BPF的简单学习

    BPF的简单学习 前言 本来规划过年期间学习一下bpf相关的内容 但是因为自己没有坚持学习,所以到最后一天才开始整理. 本来想深入学习一下相关内容,但是已经感觉已经无法完成. 最近大半年进行了很多性能 ...

  8. 重新学习一下new Date()

    new Date()你知道多少 很多小伙伴可能都知道, Date是js中的一个内置对象,用于处理日期和时间. 当你调用 new Date() 时,它会创建一个新的日期(Date) 对象. 表示当前本地 ...

  9. elementui表格内容超出显示省略号

    有些时候表格的内容太长了: 但是elementui中的表格,会进行换行处理: 此时表格的高度就会发生变化 这样就不好看,此时就要进行省略号来出来这个问题: el-table是有这个控制属性的::sho ...

  10. 【JS 逆向百例】某网站加速乐 Cookie 混淆逆向详解

    声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 逆向目标 目标:加速乐加密 ...