先看一段代码
public class MethoDemo01{ public static void main(String args[]){ int one = addOne(10,20) ; // 调用整型的加法操作 float two = addTwo(10.3f,13.3f) ; // 调用浮点数的加法操作 System.out.println("addOne的计算结果:" + one) ; System.out.println("addTwo的计算结果:" + two) ; } // 定义方法,完成两个数字的相加操作,方法返回一个int型数据 public static int addOne(int x,int y){ int temp = 0 ; // 方法中的参数,是局部变量 temp = x + y ; // 执行加法计算 return temp ; // 返回计算结果 } // 定义方法,完成两个数字的相加操作,方法的返回值是一个float型数据 public static float addTwo(float x,float y){ float temp = 0 ; // 方法中的参数,是局部变量 temp = x + y ; // 执行加法操作 return temp ; // 返回计算结果 } };
从上面的代码可以看出同样是完成加法的操作,但是方法名称并不是很明确,例如 addOne()和addTwo()实际上就是两个同类型的方法,应该都统一成add()方法才对,为了解决这种问题Java导入了方法重载的概念。所谓的方法重载就是方法名相同,但参数的类型和参数的个数不同。通过传递参数的类型不同和参数个数的不同完成不同功能的方法调用。如下代码:
public class MethoDemo02{ public static void main(String args[]){ int one = add(10,20) ; // 调用整型的加法操作 float two = add(10.3f,13.3f) ; // 调用浮点数的加法操作 int three = add(10,20,30) ; // 调用有三个参数的加法操作 System.out.println("add(int x,int y)的计算结果:" + one) ; System.out.println("add(float x,float y)的计算结果:" + two) ; System.out.println("(int x,int y,int z)的计算结果:" + three) ; } // 定义方法,完成两个数字的相加操作,方法返回一个int型数据 public static int add(int x,int y){ int temp = 0 ; // 方法中的参数,是局部变量 temp = x + y ; // 执行加法计算 return temp ; // 返回计算结果 } public static int add(int x,int y,int z){ int temp = 0 ; // 方法中的参数,是局部变量 temp = x + y + z ; // 执行加法计算 return temp ; // 返回计算结果 } // 定义方法,完成两个数字的相加操作,方法的返回值是一个float型数据 public static float add(float x,float y){ float temp = 0 ; // 方法中的参数,是局部变量 temp = x + y ; // 执行加法操作 return temp ; // 返回计算结果 } };
从程序中发现add()方法被重载了3次,而且每次重载是的参数类型或个数都有不同。
提示:
System.out.println();方法也属于方法重载。
System.out.println(3);//输出整数 System.out.println(33.3);//输出浮点数 System.out.println("33");//输出字符串 System.out.println(true);//输出布尔型
从发现程序可以打印数字,小数,字符,布尔等数据,也就是说println()方法被重载了。
重载的注意事项:
方法重载一定是在参数类型或者参数个数上的不同,下面的代码就不是方法重载:
范例:错误的方法重载
public static float add(int x, int y){//返回float类型,但是参数的类型及个数一致 float temp = 0; temp = x + y; return x+y; } public static int add(int x, int y){//返回int类型,但是参数的类型及个数一致 int temp = 0; temp = x + y; return x+y; }
从上面的程序可以看出,方法的接受参数类型和个数完全一致,但是方法的返回类型值不一样,所以不是方法重载。
再次强调:方法重载只和方法接收参数的类型以及接收参数的个数有关 和方法的返回值类型无关。
相关推荐
### Java零基础方法重载详解 #### 一、方法重载概述 在Java语言中,方法重载(Overloading)是一种允许在同一个类内定义多个同名方法的技术,但这些方法必须具有不同的参数列表(参数个数不同或参数类型不同)。...
方法的定义和方法的重载是 Java 编程语言的基础知识,本文将对 Java 方法的定义和方法的重载进行详细的介绍。 一、Java 方法的定义 Java 方法是解决问题的多行代码的集合,给予一个名字,以便多次使用。方法的作用...
JAVA 基础(方法、重载、内存、递归) JAVA 基础部分主要涵盖了方法、重载、内存和递归四个方面的知识点...JAVA基础部分涵盖了方法、重载、内存和递归四个方面的知识点,了解这些知识点对于java的学习和应用至关重要。
本文将对《Java 基础入门》课后习题答案进行总结,涵盖了 Java 基础知识点,包括 Java 开发入门、Java 基础类、变量类型、运算符、控制流语句、方法重载等。 一、Java 开发入门 * Java EE、Java SE、Java ME 是 ...
Java基础之方法的定义、调用和重载 方法是Java中的一种基本结构单元,它用于定义类或对象的行为特征和功能实现。方法可以被重复使用,提高代码的可读性和维护性。 一、方法的定义和调用 1. 什么是方法? 方法是...
2. **相同方法名**:重载的方法必须拥有相同的名字,这是识别它们为一组的基础。 3. **参数列表不同**:参数列表的不同体现在参数类型的不同或者是参数数量的不同。这里的不同不仅仅局限于类型,还包含了参数的顺序...
Java 中的重载是指在同一个类中可以创建多个方法,它们具有相同的名字,但是参数个数和参数类型不同。编译器会根据方法调用的参数类型来决定具体使用哪个方法,这也是多态性的一种体现形式。 1. 方法重载的定义 ...
### Java中的方法重载与重写以及线程概念详解 ...通过以上分析可以看出,Java中的方法重载与重写以及线程的概念是Java编程中非常重要的基础知识点,理解并掌握这些概念对于编写高质量的Java应用程序至关重要。
Java编程语言的学习涉及众多核心概念,本篇笔记主要探讨了几个关键知识点:继承、重载和覆盖。首先,我们从Java环境配置开始,确保能够正确地运行Java程序。在Windows系统中,需要设置环境变量PATH,指向JDK安装目录...
### Java编程中对象的创建与使用以及方法的重构与重载的区别说明 ...总结起来,对象的创建与使用是Java编程的基础,而方法的重构与重载则是实现多态性的关键手段。理解这两者的区别和应用对于掌握Java编程至关重要。
这种方法重载的概念是实现多态性的基础之一,并且为程序员提供了极大的灵活性和便利性。 #### 二、方法重载的基本规则 1. **方法名称相同**:这是方法重载的基础,所有重载的方法必须具有相同的名称。 2. **参数...
Java零基础自学笔记资源(十一)方法重载 方法重载是Java编程中的一种机制,它允许在同一个类中定义多个同名的方法,只要它们的形式参数列表不同。这种机制可以提高代码的可读性和编程效率。 什么情况下我们考虑...
1. **相同的方法名**:重载的方法必须具有相同的名称,这是识别它们为同一组重载方法的基础。 2. **不同的参数列表**:参数列表的差异是区分重载方法的关键。这可以通过以下三种方式实现: - 参数个数不同:例如,...
北京动力节点-Java编程零基础教程-121-Java基本语法-方法的重载-方法重载区分标准.avi 北京动力节点-Java编程零基础教程-122-Java基本语法-方法递归调用-栈溢出错误.avi 北京动力节点-Java编程零基础教程-123-...
Java基础是学习编程语言的重要阶段,对于初学者来说,掌握好这一阶段的知识是成为熟练Java开发者的基石。本文将深入探讨Java基础练习代码中的关键概念,帮助初学者巩固基础,提高编程技能。 首先,Java是一种面向...
《Java基础入门(第3版)》是一本针对Java初学者的教材,其课后答案文档提供了对书中习题的解答,旨在帮助读者巩固所学知识。Java是一种面向对象的编程语言,具备跨平台性,由Java虚拟机(JVM)负责解释执行。Java...
方法重载不关注返回类型,因为返回类型不是确定方法调用的基础。下面是一个Java的例子: ```java public class Test { public void print(int a) { System.out.println("整数: " + a); } public void print...
理解并掌握这两个概念是成为一名合格的Java开发者的基础。 首先,我们来谈谈重写(Override)。重写发生在继承关系中,当子类继承父类时,如果子类需要修改或扩展父类中的某个方法的行为,就可以重写该方法。在Java...