overload--方法重载
方法重载
1. 概念: 一个类中的一组方法 有相同方法的名字 不一样的参数列表 这样的一组方法
-
参数的不同体现在哪里?
-
参数的个数 参数的类型 参数的顺序
2. 作用:为了让使用者便于记忆与调用 只需要记录一个名字 执行不同的操作
3. 自己也可以设计重载
-
通过对象.方法名字 调用方法 可以直接通过方法的名字定位方法
-
如果方法名字一致 通过放的参数列表类型 来定位方法
-
如果没有与传递参数类型一致的方法,可以找一个参数类型可进行转化(自动);例如char 和 int
4. 在JDK1.版本之后 出现了一个新方法
-
int... x 动态参数列表 类型固定 个数可以动态 0--n都可以
-
x本质上就是一个数组 有length属性 有[index]
-
动态参数列表的方法 不能 与数组类型的方法构成方法重载 因为本质一样的
-
动态参数列表 可以不传参数 相当于0个 数组的方法必须传递参数
-
动态参数列表在方法的参数中只能存在一份儿 且必须放置在方法参数的末尾
public class Overload
public void teat(int... x){//x本质上是数组 int[] x={1,2,3,4,5,6}
System.out.println("执行了tese方法带动态列表");
for (int i =0;i<x.length;i++){
System.out.print(" "+x[i]);
}
}
public void teat(){
System.out.println("执行了tese方法带没有携带参数");
}
public void teat(boolean b){
System.out.println("执行了tese方法带boolean参数"+b);
}
public void teat(int i){
System.out.println("执行了tese方法带int参数"+i);
}
public void teat(String s){
System.out.println("执行了tese方法带int参数"+s);
}
public void teat(char c){
System.out.println("执行了tese方法带int参数"+c);
}
public static void main(String[] args) {
//1.创建对象
Overload ol=new Overload();
ol.teat();
ol.teat(true);
ol.teat(10);
ol.teat(1,2,3,4,5,6);
//通过对象.方法名字 调用方法 可以直接通过方法的名字定位方法
//如果方法名字一致 通过放的参数列表类型 来定位方法
//如果没有与传递参数类型一致的方法,可以找一个参数类型可进行转化(自动);例如char 和 int
}
}
运行结果:
执行了tese方法带没有携带参数
执行了tese方法带boolean参数true
执行了tese方法带int参数10
执行了tese方法带动态列表
1 2 3 4 5 6
Process finished with exit code 0
原文地址:https://www.cnblogs.com/CGGG/p/12563621.html
时间: 2024-10-07 21:15:57