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