/*可变参数的研究,可变参数底层是数组,
* 确定这个结论之后要实际验证测试
*
* */
package day9yue1;
public class Test1 {
public void test(String[] s)
{}
/*
* 如果这2个方法都叫test,编译错误,说明参数是一模一样,没有重载
* 结论 String[] s 和 String... s 结果是一样的
*
* */
public void test2(String... s2)
{}
//方法重载测试,参数数量不一样或者参数前后不一样都可以重载,只要调用时候能区分就行
public void test3(int a ,String b)
{}
public void test3(String b, int a)
{}
}
注意
1 可变参数只能放在形参最后
2 一个方法只能有1个可变参数
https://www.cnblogs.com/canchi/p/11440310.html
/*可变参数的研究,可变参数底层是数组,
* 确定这个结论之后要实际验证测试
*
* */
package day9yue1;
public class Test1 {
public void test(String[] s)
{}
/*
* 如果这2个方法都叫test,编译错误,说明参数是一模一样,没有重载
* 结论 String[] s 和 String... s 结果是一样的
*
* */
public void test2(String... s2)
{}
//方法重载测试,参数数量不一样或者参数前后不一样都可以重载,只要调用时候能区分就行
public void test3(int a ,String b)
{}
public void test3(String b, int a)
{}
public static void main(String[] args) {
printLen(3,"hello","2","zou");
}
public static void printLen(int a, String...s)
{
//打印3
System.out.println(s.length);//s.length能使用说明就是数组,所以数组所有方法和属性都能使用,切记
}
}
本文深入探讨了可变参数在Java中的实现机制,揭示了可变参数本质上为数组的事实,并通过实例验证了这一结论。同时,文章对比了String[]与String...的使用,指出两者在编译层面被视为相同,无法构成方法重载。此外,还介绍了方法重载的规则,即通过参数数量或类型的差异来区分不同的方法。
117





