在Java中,同一个类中的多个方法可以有相同的名字,只要它们的参数列表不同就可以,这被称为方法重载(method overloading)。
参数列表又叫参数签名,包括参数的类型、参数的个数和参数的顺序,只要有一个不同就叫做参数列表不同。
重载是面向对象的一个基本特性。
下面看一个详细的实例。
运行结果:
No parameters
a: 2
a and b: 2 3
double a: 2.0
通过上面的实例,读者可以看出,重载就是在一个类中,有相同的函数名称,但形参不同的函数。重载的结果,可以让一个程序段尽量减少代码和方法的种类。
说明:
方法的重载的规则:
方法重载的实现:
方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错,这叫做重载分辨。
参数列表又叫参数签名,包括参数的类型、参数的个数和参数的顺序,只要有一个不同就叫做参数列表不同。
重载是面向对象的一个基本特性。
下面看一个详细的实例。
- public classDemo{
- // 一个普通的方法,不带参数
- 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(Stringargs[]){
- Demoobj= 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的方法不能被重载,但是能够被再次声明。
方法的重载的规则:
- 方法名称必须相同。
- 参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。
- 方法的返回类型可以相同也可以不相同。
- 仅仅返回类型不同不足以成为方法的重载。
方法重载的实现:
方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错,这叫做重载分辨。
相关推荐
63.java方法重载.zip63.java方法重载.zip63.java方法重载.zip63.java方法重载.zip63.java方法重载.zip63.java方法重载.zip63.java方法重载.zip63.java方法重载.zip63.java方法重载.zip63.java方法重载.zip63.java...
64.java方法重载特点.zip64.java方法重载特点.zip64.java方法重载特点.zip64.java方法重载特点.zip64.java方法重载特点.zip64.java方法重载特点.zip64.java方法重载特点.zip64.java方法重载特点.zip64.java方法重载...
65.java方法重载练习.zip65.java方法重载练习.zip65.java方法重载练习.zip65.java方法重载练习.zip65.java方法重载练习.zip65.java方法重载练习.zip65.java方法重载练习.zip65.java方法重载练习.zip65.java方法重载...
Java方法重载+Java重载案例+Java重载 Java方法重载+Java重载案例+Java重载 Java方法重载+Java重载案例+Java重载 Java方法重载+Java重载案例+Java重载
在`Mypet`类的设计中,我们可能还会遇到其他重载方法,比如`sleep(int hours)`和`sleep(Date bedtime)`,分别代表睡觉的小时数和指定的入睡时间。每个重载方法都应有清晰的意图,使得调用者可以根据需要选择合适的...
- 在调用重载方法时,Java会根据传入的实际参数类型,按照“匹配最佳”原则来选择合适的方法进行调用,这称为“动态绑定”或“后期绑定”。 通过方法重载,我们可以编写更加简洁、易于理解的代码。在实际开发中,...
- **返回类型不参与重载判断**:如前所述,方法的返回类型不能作为区分重载方法的依据。 - **访问修饰符、抛出的异常不影响重载**:与返回类型类似,方法的访问修饰符(public、private等)和抛出的异常类型也不影响...
Java编译器在编译期间通过匹配传入参数来确定调用哪个重载方法。这被称为静态绑定或早期绑定。以下是一个方法重载的例子: ```java public class OverloadTest { public static void main(String[] args) { sum()...
1. 不要仅仅依靠默认值或者包装类型与原始类型之间的转换来重载方法。例如,`int`和`Integer`在Java中被视为不同的类型,但这可能导致不必要的混淆。 2. 避免使用可变参数列表(如`...`)作为唯一区别,因为这样...
从上面的例子可以看出,编译器根据实际参数类型进行了自动类型转换来确定调用哪个重载方法。 #### 5. 注意事项 - **不要依赖自动类型提升**:虽然Java中的自动类型转换很常见,但在某些情况下可能会导致意外的结果...
### Java方法继承、方法重载、方法覆盖总结 在Java编程语言中,方法继承、方法重载、方法覆盖是三个非常重要的概念。它们之间既有关联又有区别,掌握这些概念对于深入理解面向对象编程有着至关重要的作用。 #### ...
在Java中,`String.valueOf()`是一个典型的重载方法。这个方法可以根据不同的参数类型返回不同类型的字符串表示。在上述例子中,我们看到`String.valueOf()`方法被用于将基本数据类型转换为对应的字符串表示: 1. `...
对不同的数进行排序输出,在IntSort 类中定义3 个同名的方法sort,在 编写KY3_9.java 文件的源代码。
"Java 实例 - 方法重载演示源代码-详细教程"这个资源提供了详细的Java方法重载实例和教程,包括如何创建和使用重载方法,以及可能遇到的问题和解决策略。通过学习和实践这些示例代码,你将能更好地理解和掌握Java中...
"Java方法重载和重写原理区别解析" Java 是一种面向对象的编程语言,方法重载和重写是两个非常重要的概念,它们都是Java编程语言中的一部分。本文主要介绍了Java方法重载和重写原理区别解析,通过示例代码介绍的...
Java虚拟机(JVM)会根据传入参数的类型和数量来选择调用哪个重载方法,这一过程称为动态绑定或晚期绑定。 接下来,我们来看看内存分配。在Java中,内存主要分为堆内存(Heap)和栈内存(Stack)。栈内存主要用于...
Java 方法的定义和方法的重载 Overload Java 方法是 Java 编程语言的基本组成部分之一。方法是解决问题的多行代码的集合,给予一个名字,以便多次使用。方法的定义和方法的重载是 Java 编程语言的基础知识,本文将...
JAVA中的方法重写与方法重载区别 JAVA 中的方法重写和方法重载是两个重要的概念,在面向对象程序设计语言中尤为重要。方法重写和方法重载都是多态性的体现,但它们之间有着本质的区别。 方法重写(Override)是指...
Java 中的重载是指在同一个类中可以创建多个方法,它们具有相同的名字,但是参数个数和参数类型不同。编译器会根据方法调用的参数类型来决定具体使用哪个方法,这也是多态性的一种体现形式。 1. 方法重载的定义 ...