JAVA学习--可变个数的形参的方法

* 可变个数的形参的方法:
 * 1.格式:对于方法的形参: 数据类型 ... 形参名
 * 2.可变个数的形参的方法与同名的方法之间构成重载
 * 3.可变个数的形参在调用时,个数从0开始,到无穷多个都可以。
 * 4.使用可变多个形参的方法与方法的形参使用数组是一致的。
 * 5.若方法中存在可变个数的形参,那么一定要声明在方法形参的最后。
 * 6.在一个方法中,最多声明一个可变个数的形参。

public class TestArgs {
    public static void main(String[] args) {
        TestArgs t = new TestArgs();
        t.sayHello();
        //t.sayHello(new String[]{"hello China","hello BeiJing"});
        t.sayHello("hello China","hello BeiJing");
    }

    //如下四个方法构成重载
    //在类中一旦定义了重载的可变个数的形参的方法以后,如下的两个方法可以省略
//    public void sayHello(){
//        System.out.println("hello world!");
//    }
//    public void sayHello(String str1){
//        System.out.println("hello " + str1);
//    }
    //可变个数的形参的方法
    public void sayHello(String ... args){
        for(int i = 0;i < args.length;i++){
            System.out.println(args[i] + "$");
        }
        //System.out.println("=====");
    }

    public void sayHello(int i,String ... args){
    //public void sayHello(String ... args,int i){
        System.out.println(i);

        for(int j = 0;j < args.length;j++){
            System.out.println(args[j] + "$");
        }
    }

    public void sayHello1(String[] args){
        for(int i = 0;i < args.length;i++){
            System.out.println(args[i]);
        }
    }

    //可变个数形参的使用的例子
//    public int getSum(int i,int j){
//        return i + j;
//    }
//    public int getSum(int i,int j,int k){
//        return i + j + k;
//    }
    public int getSum(int ... args){
        int sum = 0;
        for(int i = 0;i < args.length;i++){
            sum += args[i];
        }
        return sum;
    }

}
时间: 2024-08-02 16:15:09

JAVA学习--可变个数的形参的方法的相关文章

JDK新特性之可变个数的形参的方法

可变个数的形参的方法:1.格式:对于方法的形参来说:数据类型...形参名2.可变个数的形参的方法与同名的方法之间可以构成重载3.可变个数的形参在调用时,个数从0开始,到无穷都可以(在调用这个方法时,sayHello后的括号里输入几个值都可以,可以输入0个也可以无穷个)4.使用可变多个形参的方法与方法的形参使用数组是一致的甚至是一个方法,使用要不同的名称5.若方法中存在可变个数的形参,那么一定要声明在方法形参之后(如代码中的sayHello(int i,String... args)中的int是方

可变个数的形参的方法

可变个数的形参的方法: 1.格式:对于方法的形参: 数据类型 ... 形参名 2.可变个数的形参的方法与同名的方法之间构成重载 3.可变个数的形参在调用时,个数从0开始,到无穷多个都可以. 4.使用可变多个形参的方法与方法的形参使用数组是一致的. 5.若方法中存在可变个数的形参,那么一定要声明在方法形参的最后. 6.在一个方法中,最多声明一个可变个数的形参. //如下四个方法构成重载 //在类中一旦定义了重载的可变个数的形参的方法以后,如下的两个方法可以省略 // public void say

Java学习-024-获取当前类名或方法名二三文

今天,看朋友编写程序,打印日志时,需要记录当前类的类名以及当前方法的方法名,我发现 TA 将类名或者方法名直接写死在了代码中...虽说这样可以实现记录类名和方法名,但是当有特殊情况需要修改类名或者方法名时,源码中涉及类名或者方法名的地方必须同步变更,若修改的地方比较多,难免可能发生有遗漏的地方,那么后续通过日志查看分析原因时,就会找不到相应的地方,导致无法分析,查找原因. 为何要获取类名? 调试源码 记录日志 生成报告 统计分析,对调用比例占比大的方法,增强单元测试 构建系统调用关系链,对主要关

Java学习之路(三) 方法

方法的定义 修饰符 返回类型 方法名(参数){ 方法体 } public class text { public static void add(){ /** * 静态方法 * 调用方法:add2(): */ System.out.println("add------"); } public static int add3(int a){ // 带有返回值的方法 a = a+4; return a; } public static void main(String[] args) {

JAVA学习--接口的应用:工厂方法的设计模式

1 public class TestFactoryMethod { 2 public static void main(String[] args) { 3 IWorkFactory i = new StudentWorkFactory(); 4 i.getWork().doWork(); 5 6 IWorkFactory i1 = new TeacherWorkFactory(); 7 i1.getWork().doWork(); 8 } 9 } 10 11 interface IWorkF

Java学习笔记之this的使用方法

调用类中变量的写法实际上应该是:对象名.变量名 this代表调用该成员的对象,通常对象名被省略,即省略了this.但是在有同名变量参与时不可省略.如下面的情形: public void setNum(String num){ this.num = num;} ? 当在同一个类中的一个构造函数中调用另一个构造函数时,就可以使用this来直接调用.但是在使用时,含有this的这句话必须放在代码块的第一行.如下面的情形: public Time(long totaltime)//以特定时间(ms)构造

可变个数形参

1 package com.cnblogs.java; 2 /* 3 * 可变个数形参的使用方法 4 * 1.格式:对于方法的形参,数据类型 ... 形参名 5 * 2.可变个数的形参的方法与同名的方法之间构成重载 6 * 3.可变个数的形参方法在调用时,可以有从0到多个参数 7 * 4.使用可变个数形参的方法与方法的形参是数组的使用方法一致. 8 * 一致到认为方法③和⑤是同一个方法的地步, 9 * 但是方法三是可变个数形参,能包括方法①和②,①②注释掉则自动调用③ 10 * 5.若一个方法中

Java学习日记------面向对象④

一.体会可变个数的形参 1.格式:对于方法的形参 数据类型 ...形参名 2.可变形参的方法与同名的方法构成重载 3.可变个数的形参在调用时个数从0开始到无穷多个都可以. 4.使用可变个数的形参与方法的形参使用使用数组是一致的. 5.若一个方法中有可变个数的形参,那么一定要声明在方法形参的最后. package day04; public class TestArgs { public static void main(String[] args) { TestArgs c=new TestAr

Java学习-025-类名或方法名应用之一 -- 调试源码

上文讲述了如何获取类名和方法名,敬请参阅: Java学习-024-获取当前类名或方法名二三文 . 通常在应用开发中,调试或查看是哪个文件中的方法调用了当前文件的此方法,因而在实际的应用中需要获取相应的包名.类名.方法名.行数,从而快速定位,及统计方法被调用的次数,生成类方法关系链. 相信爱钻研的小主们,通过上篇文章,已经懂得了,如何获取主调方法.从调方法.那我直接上码了,敬请各位小主参阅,若有不足之处,敬请各位大神指正,不胜感激! GetClassMethodName.java 源码内容如下所示