重载定义:对于同一个类,如果这个类里面有两个或者多个重名的方法,但是方法的参数个数、类型、顺序至少有一个不一样,这时候局构成方法重载。重载是类中多态性一种表现。
列子1:
说明:当一个类中 出现两个同名方法时,方法中的参数类型相同,个数不同时,这时就构成了重载。
public class Main {
public static void main(String[] args) {
add(3,4); //当传入的参数个数为两个时,jvm编译时会自动查找含有两个参数的add()方法;
add(4, 5, 8);//当传入的参数个数为三个时,jvm编译时会自动查找含有两个参数的add()方法;
}
public static void add(int a,int b)
{
System.out.println(a+b);
}
private static void add(int a,int b,int c)
{
System.out.println(a+b+c);
}
}
列子2:
说明:当一个类中 出现两个同名方法时,方法中的参数个数相同 ,类型不同时,这时也构成了重载。
public class Main {
public static void main(String[] args) {
add(5); //当传入的值为int 类型时,jvm编译时会自动查找参数为int类型的add()方法
add("c"); //当传入的值为String 类型时,jvm编译时会自动查找参数为Sting类型的add()方法
}
public static void add(int x) {
System.out.println(x);
}
private static void add(String y) {
System.out.println(y);
}
}
列子3:
说明:当一个类中 出现两个同名方法时,方法中的参数个数相同 ,当参数类型顺序不同时,这时也构成了重载。
public class Main {
public static void main(String[] args) {
add(5,"c"); //jvm编译时会自动查找参数类型与之一致的add()方法
add("c",5);
}
public static void add(int x,String y) {
System.out.println(x+y);
}
private static void add(String x,int y) {
System.out.println(x+y);
}
}
重载的作用:重载就是对不同数据类型的的数据实现相似的操作。即实现的功能相同。
重载与重写的区别:
重载是利用同名的函数,但传入不同个数或不同类型的参数,有不同的返回结果;
重写你可以理解为废除原先的方法,自己定义新的(当然可以通过super.xxx来把原先想保留的方法利用起来)