Java方法重载

作者: Python编程社区 | 来源:发表于2019-05-21 09:40 被阅读3次

在Java中,同一个类中的多个方法可以有相同的名字,只要它们的参数列表不同就可以,这被称为方法重载(method overloading)。

参数列表又叫参数签名,包括参数的类型、参数的个数和参数的顺序,只要有一个不同就叫做参数列表不同。

重载是面向对象的一个基本特性。

下面看一个详细的实例。

public class Demo{
    // 一个普通的方法,不带参数
    void test(){
        System.out.println("No parameters");
    }
    // 重载上面的方法,并且带了一个整型参数
    void test(int a){
        System.out.println("a: " + a);
    }
    // 重载上面的方法,并且带了两个参数
    void test(int a,int b){
        System.out.println("a and b: " + a + " " + b);
    }
    // 重载上面的方法,并且带了一个双精度参数
    double test(double a){
        System.out.println("double a: " + a);
        return a*a;
    }
   
    public static void main(String args[]){
        Demo obj= new Demo();
        obj.test();
        obj.test(2);
        obj.test(2,3);
        obj.test(2.0);
    }
}

运行结果:
No parameters
a: 2
a and b: 2 3
double a: 2.0

通过上面的实例,读者可以看出,重载就是在一个类中,有相同的函数名称,但形参不同的函数。重载的结果,可以让一个程序段尽量减少代码和方法的种类。

说明:
参数列表不同包括:个数不同、类型不同和顺序不同。
仅仅参数变量名称不同是不可以的。
跟成员方法一样,构造方法也可以重载。
声明为final的方法不能被重载。
声明为static的方法不能被重载,但是能够被再次声明。

方法的重载的规则:
方法名称必须相同。
参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。
方法的返回类型可以相同也可以不相同。
仅仅返回类型不同不足以成为方法的重载。

方法重载的实现:
方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错,这叫做重载分辨。

从去年到现在,我根据市场技术栈的需求,录制了一套最新的Java精讲视频教程,如果你现在也在学习Java,在入门学习Java的过程当中缺乏系统的学习教程,你可以加我的Java学习交流群:615741636,获取,群文件还有学习手册,面试题,开发工具,PDF文档教程,可以自行下载。

相关文章

  • 方法重载与方法重写(@Overload @Override)

    java方法重载和方法重写(方法覆盖)的区别: 方法重载: Overload 方法重写: Override 批判,...

  • JVM方法调用

    方法重载和方法重写多态是面向对象程序设计的重要特性,方法重载和方法重写是Java语言实现多态的主要形式。方法重载指...

  • JAVA基础_方法的重载

    java语言当中的方法的重载: 1、方法重载又称为Overload 2、方法重载什么时候使用?【当在同一个类中,方...

  • Java中重载和覆盖(重写)的区别

    Java中重载和覆盖(重写)的区别 1,基本概念 重载(Overload) Java中的方法重载发生在同一个类里面...

  • 第31节:Java基础-类与对象

    前言 Java基础-类与对象,方法的重载,构造方法的重载,static关键字,main()方法,this关键字,包...

  • 02Dart:并不支持构造函数的重载

    Java 代码中,使用了重载构造函数的方法,该方法在 Java 中很普遍,重载的构造函数和之前的构造函数具有相同的...

  • java中的重载和typescript中的重载

    一、 java中重载 重载规则 被重载的方法必须改变参数列表(参数个数或类型不一样);被重载的方法可以改变返回类型...

  • 基本概念术语

    6.Java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思? Java中的方法...

  • 5.Java重载和重写的区别

    Java 方法重载和方法重写的区别有哪些? 解析:先明白重载和重写的定义。 一、方法重写(0verride) 在J...

  • Java方法重载

    《Java编程思想》笔记 概述 生活中我们常常可以用一个词来表达多个意思。比如,当我们说“吃东西”时,可以是“吃米...

网友评论

    本文标题:Java方法重载

    本文链接:https://www.haomeiwen.com/subject/cdcdzqtx.html