【跟着大磨马学IT编程(安卓Java程序员)】第十四天 课程内容概述

来源:互联网 发布:党员干部网络行为条例 编辑:程序博客网 时间:2024/05/20 20:45
软件编程培训(安卓java),课程介绍 及 评论
http://buluo.qq.com/mobile/detail.html?&&_wv=1027#bid=277118&pid=2149341-1448537461&source=buluoadmin&from=buluoadmin

本节课评论,如下:




形参长度可变的方法 

 public class LenChange {

    public static void ergodic(String name, String[] arr){

        int tag = 0;
        for(int i = 0; i < arr.length; i++){
            String arrTmp = arr[i];
            if("邓超".equals(arrTmp)){
                name = i + "";

                tag = 1;
            }
            System.out.println(arrTmp);

        }
        if(tag == 0){
            System.out.println("数组的元素没有等于 邓超");
        }else if(tag ==1){
            System.out.println("符合条件的索引值等于" + name);
        }else{
            System.out.println("else 前面的if 和所有的else if都不匹配,则会执行else模块");
        }

    }

}

public class LenChangeTest {

    public static void main(String[] args) {
        String a= "";
        String[] b = {"邓超", "杨颖", "李晨", "陈赫", "郑凯", "王", "鹿晗" };

        String[] c = {"邓超", "杨颖" };

//        类名.方法
        LenChange.ergodic(a, b);

////        对象.方法
//        LenChange lc = new LenChange();
//        lc.ergodic(a, b);

        LenChange02.ergodic("a的实参值", "邓超", "杨颖", "李晨", "陈赫", "郑凯", "王", "鹿晗");
        LenChange02.ergodic("a的实参值", b);
    }

}

JDK1.5之后,Java允许定义形参长度可变的参数,从而允许为方法指定数量不确定的形参。如果在定义方法的时候,在最后一个形参的类型后增加三点(...),则表明该形参可以接受多个参数值,多个参数值被当成数组传入。
public class LenChange02 {
    public static void ergodic(String name, String... arr){

        int tag = 0;
        for(int i = 0; i < arr.length; i++){
            String arrTmp = arr[i];
            if("邓超".equals(arrTmp)){
                name = i + "";

                tag = 1;
            }
            System.out.println(arrTmp);
        }
        if(tag == 0){
            System.out.println("数组的元素没有等于 邓超");
        }else if(tag ==1){
            System.out.println("符合条件的索引值等于" + name);
        }else{
            System.out.println("else 前面的if 和所有的else if都不匹配,则会执行else模块");
        }
    }
}

在定义数组声明形参列表的时候,形参用数组的形式 还是 长度可变的形式,是有明显的差异的:

  1. 当传入的数值比较少的时候,用长度可变的形参的形式来定义方法,会让调用时更加简洁,即 直接传入 参数值就可以了;而用数组的形式定义方法的话,调用方法时必须传入一个数组。
  2. 当用长度可变的形参的形式来定义方法,调用方法的时候  即可以直接传入数个数值,也可以为这个长度可变的形参传入一个数组;而用数组的形式定义方法的话,只能传入数组。
  3. 长度可变的形参只能处于形参列表的最后,一个方法中最多只能包含一个长度可变的形参。


方法重载


public class OverloadTest {

    int a = 2;

    public void testOL(){
        System.out.println("此方法没有形参");
    }

    public void testOL(String name){
        System.out.println("此方法有一个形参" + name);
    }

    public void testOL(String name, int age){
        System.out.println("此方法有两个形参,name =" + name + ",age = " + age);
    }

    public static void main(String[] args){

        OverloadTest olt = new OverloadTest();

        olt.testOL();

        olt.testOL("邓超");

        olt.testOL("杨颖", 25);

    }

}

Java运行同一个类里定义多个同名方法,只要形参列表不同就可以。如果同一个类中包含了两个或者两个以上的方法的方法名相同,但形参列表不同,则被成为方法重载。

从上面的示例中,可以看出,在Java程序中需要确定一个方法需要三个要素:

  1. 调用者,也就是方法的所属者,既可以是类,也可以是对象。
  2. 方法名,方法的标识。
  3. 形参列表,当调用方法时,系统将会根据传入的实参类比匹配。

概括的说,方法重载的要求就是两同、一不同:同一个类中方法名相同,参数列表不同。至于方法的其他部分,如方法返回值类型、修饰符等,与方法重载没有任何关系。


1 0
原创粉丝点击