【Java方法重载】 定义,使用,理解,示例解读

简介: 【Java方法重载】 定义,使用,理解,示例解读


什么是方法重载?

Java方法重载是指在同一个类中可以定义多个同名方法,但是这些方法需要在不同的参数列表上进行调用。

也就是说,当调用该方法时,Java会根据方法的参数列表来判断应该调用哪一个方法。

方法重载可以让程序更加灵活,能够处理不同的数据类型和参数组合,是面向对象编程的重要特性之一。

可以通过方法名称相同,参数类型或数量不同来重载方法。

重载方法必须在同一个类中定义

对于方法重载的理解

  1. 方法重载必须在同一个类中,方法名相同,不同的参数列表,不同的参数类型,不同的参数数量
  2. JVM通过方法的参数列表,调用不同的方法

方法重载的两个示例

注: 传递类型不同称为重载, 调用时若与任意一方法内参数内容不同,则报错

定义不同的功能

public class Demo {
    public void add(int a, int b) {
        int sum = a + b;
        System.out.println("两数之和: " + a + " 和 " + b + " 是 " + sum);
    }
    public void add(double a, double b) {
        double sum = a + b;
        System.out.println("两数之和: " + a + " 和 " + b + " 是 " + sum);
    }
    public void add(String a, String b) {
        String c = a + " " + b;
        System.out.println("字符串相加: " + a + " 和 " + b + " 是 " + c);
    }
    public static void main(String[] args) {
        Demo do = new Demo();
        do.add(10, 20);
        do.add(10.5, 20.5);
        do.add("Hello", "World");
    }
}

在这个例子中,add()方法被重载了三次

每个方法都有自己不同的参数,当我们传递对应的参数,编辑器会根据传递的参数自动找到对应方法并调用

pringln打印不同类型

public class Demo {
    public void setPrint(int a, int b) {
        System.out.println(a, b);
    }
    public void setPrint(double a, double b) {
        System.out.println(a, b);
    }
    public void setPrint(String a, String b) {
        System.out.println(a, b);
    }
    public static void main(String[] args) {
        Demo do = new Demo();
        do.add(10, 20);
        do.add(10.5, 20.5);
        do.add("Hello", "World");
    }
}

在这个例子中,setPrint()方法被重载了三次

每个方法都有自己不同的参数,当我们传递对应的参数,编辑器会根据传递的参数自动找到对应方法并在控制台输出对应的内容

相关文章
|
4天前
|
设计模式 安全 Java
Java面试题:设计模式如单例模式、工厂模式、观察者模式等在多线程环境下线程安全问题,Java内存模型定义了线程如何与内存交互,包括原子性、可见性、有序性,并发框架提供了更高层次的并发任务处理能力
Java面试题:设计模式如单例模式、工厂模式、观察者模式等在多线程环境下线程安全问题,Java内存模型定义了线程如何与内存交互,包括原子性、可见性、有序性,并发框架提供了更高层次的并发任务处理能力
17 1
|
16天前
|
Java
static关键字在Java中的应用场景与示例
static关键字在Java中的应用场景与示例
|
18天前
|
安全 Java 编译器
杭州 【Java基础知识 11】java泛型方法的定义和使用(学习+改进+自己理解,想法) (借鉴-侵-删)
杭州 【Java基础知识 11】java泛型方法的定义和使用(学习+改进+自己理解,想法) (借鉴-侵-删)
15 1
|
20天前
|
存储 Java 数据库连接
Java基础之数据载体定义及场景
Java开发中,对象按角色分为:PO(持久化对象,对应数据库表),DTO(数据传输对象,跨层传输数据),VO(值对象,用于页面展示),RO(资源对象,如文件连接)。此外,还有Entity(ORM实体),BO(业务对象),DAO(数据访问对象),SO(服务对象),FO(外观对象),AO(应用对象),EO(实体对象)和TO(传输对象),它们在不同场景下负责不同的职责,促进代码组织和解耦。
16 0
|
20天前
|
Java
java代码示例和常用代码解读
java代码示例和常用代码解读
10 1
|
14天前
|
消息中间件 Java Kafka
使用Java编写Kafka生产者和消费者示例
使用Java编写Kafka生产者和消费者示例
16 0
|
17天前
|
Java
Java 8 Collectors 深入解析与示例
Java 8 Collectors 深入解析与示例
10 0
|
17天前
|
存储 Java
Java基础手册(标识符 关键字 字面值 变量 数据类型 字符编码 运算符 控制语句 方法及方法重载和递归 面向对象与面向过程)
Java基础手册(标识符 关键字 字面值 变量 数据类型 字符编码 运算符 控制语句 方法及方法重载和递归 面向对象与面向过程)
18 0
|
17天前
|
存储 Java
Java线程池参数详解及其示例
Java线程池参数详解及其示例
13 0
|
17天前
|
存储 Java 编译器
技术经验解读:一文带你搞懂java中的变量的定义是什么意思
技术经验解读:一文带你搞懂java中的变量的定义是什么意思
13 0