java overload是什么,让我们一起了解一下?
overload是在Java程序中实现方法的重载,同一个类可以有两个或者多个方法名字相同,只要参数不同即可。应当注意的是,必须是在同一个类中、方法名相同、方法参数的个数、顺序或类型不同、与方法的修饰符或返回值没有关系。
overload的规则是什么?
1、方法名称必须相同。2、参数列表必须不同,即参数个数、参数类型或参数顺序中任有一个不同。3、方法的返回类型可以相同也可以不同,对此无限制。4、若仅满足方法的返回类型不同,不属于方法重载。
方法重载的目的是什么?
1、方法重载的主要好处就是,不用为了对不同的参数类型或参数个数,而写多个函数。多个函数用同一个名字,但参数表,即参数的个数或(和)数据类型可以不同,调用的时候,虽然方法名字相同,但根据参数表可以自动调用对应的函数。
2、重载的最直接作用是方便了程序员可以根据不同的参数个数,顺序,类型,自动匹配方法,减少写过个函数名或方法名的重复步骤。
实战案例:
package com.test; class MyClass { int height; MyClass() { System.out.println("调用无参数构造函数"); height = 4; } MyClass(int i) { System.out.println("调用有参数构造函数"); height = i; } void info(int a, String s) { System.out.println(s+":房子高度为 "+height + " 米"); } void info(String s, int a) { System.out.println("参数顺序不同构成重载:" +s + ": 房子高度为 " + height + " 米"); } int info(int b, int a) { System.out.println("方法修饰符可以不同" +": 房子高度为 " + height + " 米"); return a+b; } float info(int b, int a, float c) { System.out.println("方法返回值类型可以不同" +": 房子高度为 " + height + " 米"); return a+b; } } public class Ytt { public static void main(String[] args) { MyClass t = new MyClass(3); t.info(1,"测试1"); t.info("测试2",2); //参数顺序不同构成重载 t.info(1,2); //方法修饰符可以不同,方法返回值类型不影响重载 t.info(1,2,6f); //方法返回值类型可以不同 //重载构造函数 new MyClass(); } }
以上就是小编今天的分享了,希望可以帮助到大家。