JAVA基础-----方法重载

家住魔仙堡 提交于 2020-03-25 02:51:02

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!