overload---方法重载
1.概念:一个类中的一组方法,相同的方法名,不同类型的参数列表,构成了方法重载
2.作用:方便记忆,调用,可以使用一个方法名,调用不同类型的参数,执行不同的操作
3.不同体现在:
顺序 : int String
String int
类型 无参 int String...
个数 int String
String
4.自己也可以设计参数列表
调用方法的时候首先通过方法名字定位方法
如果方法名字一致可以通过参数的数据来定位方法
如果没有与传递参数类型一致的方法,可以找一个参数类型进行转换(自动)如果类型不一致则需要强制转换
5. 动态参数列表、
int...x 类型固定 个数可以动态0--都可以
x本质上是一个数组 有length属性 有index
动态参数列表不可以和相同意义的数组构成方法重载,他两本质上是一样的
区别动态参数与数组 动态参数列表的方法可以不传参数,相当于0个 数组的方法必须传参
动态参数列表必须放在参数末尾,且只可以有一份,否则编译不好使
public class TestOverload {
public void test(int...x){//本质数组 int[] x = {1,2,3,4,5,6};
System.out.println("执行了test方法携带动态列表");
for(int i=0;i<x.length;i++){
System.out.println(x[i]);
}
}
// public void test(){
// System.out.println("执行了test方法没有携带参数");
// }
// public void test(boolean b){
// System.out.println("执行了test方法带boolean参数"+b);
// }
// public void test(char c){
// System.out.println("执行了test方法带char参数"+c);
// }
// public void test(int i){
// System.out.println("执行了test方法带int参数"+i);
// }
// public void test(String s){
// System.out.println("执行了test方法带String参数"+s);
// }
public static void main(String[] args){
//1.创建对象
TestOverload to = new TestOverload();
to.test(1,2,3,4);
// to.test((char)99);//方法参数传递 类型之间的转化问题
//通过对象.方法名字 调用方法 可以直接通过方法名字定位方法
//如果方法名字一致 通过方法的参数列表类型 来定位方法
//2.通过对象调用方法 方法执行一遍
//to.test(true);//不传参数 不行 传参数 参数类型不匹配 不行
}
}