1.6 方法重载

简介: 1.6 方法重载

一、方法的定义

1、方法的格式详解
修饰符 返回值类型 方法名(参数列表){
        //代码省略...
        return 结果;
}
  • 修饰符: public,private。
  • 返回值类型: 表示方法运行的结果的数据类型,方法执行后将结果返回到调用者。
  • 参数列表: 方法在运算过程中的未知数据,调用者调用方法时传递。
  • 返回值: 将方法执行后的结果带给调用者,方法执行到return ,整体方法运行结束。
2、定义方法的注意事项
  • 定义位置,类中方法外面。
  • 返回值类型,必须要和return语句返回的类型相同,否则编译失败 。
// 返回值类型要求是int
public static int getSum() {
    return 5;// 正确,int类型
    return 1.2;// 错误,类型不匹配
    return true;// 错误,类型不匹配
}
  • 不能在return 后面写代码,return 意味着方法结束,所有后面的代码永远不会执行,属于无效代码。
public static int getSum(int a,int b) {
    return a + b;
    System.out.println("Hello");// 错误,return已经结束,这里不会执行,无效代码
}

二、方法重载

1、定义
  • 方法重载:指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。
  • 参数列表(不同): 个数不同,数据类型不同,顺序不同。
  • 重载方法调用: JVM通过方法的参数列表,调用不同的方法。

重载规则:

  • 被重载的方法必须形参列表不一样(参数个数或类型不一样);
  • 被重载的方法可以改变返回类型;
  • 被重载的方法可以改变访问修饰符;
  • 被重载的方法可以声明新的或更广的检查异常;
  • 方法能够在同一个类中或者在一个子类中被重载。
  • 返回值类型不能作为重载函数的区分标准。

最常用的地方就是构造器的重载。(有参和无参构造的重载)

2、例子

main测试

public static void main(String[] args) {
    //定义不同数据类型的变量
    byte a = 10;
    byte b = 20;
    short c = 10;
    short d = 20;
    // 调用
    System.out.println(compare(a, b));
    System.out.println(compare(c, d));
}

重载类

// 两个byte类型的
public static boolean compare(byte a, byte b) {
    System.out.println("byte");
    return a == b;
}
// 两个short类型的
public static boolean compare(short a, short b) {
    System.out.println("short");
    return a == b;
}
目录
相关文章
Java中的正则表达式详解
Java中的正则表达式详解
|
存储 NoSQL 关系型数据库
面试题14: 关系型数据库和非关系型数据库的区别
面试题14: 关系型数据库和非关系型数据库的区别
683 1
|
监控 安全 数据库
Flask应用部署指南:从开发到生产环境
【4月更文挑战第16天】本文是Flask应用从开发到生产的部署指南,涵盖开发环境准备、应用开发、部署方案选择、生产环境配置、应用部署、监控与维护。确保安装Python、Flask及依赖库,使用文本编辑器或IDE编写代码,关注应用安全与性能。选择WSGI服务器、Docker或云服务平台部署,配置生产环境,确保安全性,然后部署应用并进行监控维护,定期更新修复问题,保证应用稳定运行。
1282 0
|
Java
Java中的==和equals():区别详解
大家好!在 Java 编程中,比较对象的相等性是一个常见的任务。然而,你是否知道在 Java 中有两种不同的方法来比较对象的相等性:== 操作符和 equals() 方法?本文将深入探讨这两种方法之间的区别以及何时使用它们。
685 0
|
机器学习/深度学习 人工智能 自然语言处理
【人工智能】发展历程概述
【人工智能】发展历程概述
【人工智能】发展历程概述
|
网络协议 Linux 网络安全
小白带你学习 linux 网络和网络协议(十七)
小白带你学习 linux 网络和网络协议(十七)
145 0
|
XML 前端开发 JavaScript
react的特点
react的特点
193 0
|
Java 应用服务中间件 Spring
Jeesite中部署定时任务,定时任务tomcat部署详细,定时任务在spring项目中部署
Jeesite中部署定时任务,定时任务tomcat部署详细,定时任务在spring项目中部署
425 0
《《企业全面上云成功路径与实践》白皮书》电子版地址
《企业全面上云成功路径与实践》白皮书
261 0
《《企业全面上云成功路径与实践》白皮书》电子版地址
|
JSON JavaScript 前端开发
Backbone.js应用基础
Backbone.js应用基础
186 0