package com.atguigu.java1;
/* 1、
* //JDK 5.0以前:采用数组形参来定义方法,传入多个同一类型变量
* public static void test(int a ,String[] books);
* //JDK5.0:采用可变个数形参来定义方法,传入多个同一类型变量
* public static void test(int a ,String…books);
*
* 2、具体的使用
* (1) 可变个数形参的格式:数据类型...变量名
* (2)当调用可变个数形参的方法实,传入的形参个数可以是:0、1、2、3等
* (3)可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载
* (4)可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载,而是两者不能共存
* (5)方法的参数部分有可变形参,需要放在形参声明的末尾, 如: public void show(int i,String...str)
* (6) 在一个方法的形参位置,最多只能声明一个可变个数形参
*/
public class MethodArgsTest {
public static void main(String[] args) {
MethodArgsTest test = new MethodArgsTest();
test.show(1);
//当下面的方法public void show(String i)存在的时候
//test.show("hello")优先调用的方法是 public void show(String i)
test.show("hello");
//输出为:show(String)
//当下面的方法public void show(String i)不存在的时候
//test.show("hello")优先调用方法的是 public void show(String...str)
//输出为:show(String...str))
test.show();
//test.show(0)调用的方法是 public void show(String...str)
//采用可变个数形参调用的格式:下面两种都可以
test.show("AB","CD","EF");
test.show(new String[]{"AB","CD","EF"});
}
public void show(int i){
System.out.println("show(int)");
}
public void show(String i){
System.out.println("show(String)");
}
//方法:可变个数的形参——格式1
public void show(String...str){
System.out.println("show(String...str)");
}
//方法:可变个数的形参——格式2
// public void show(String[] str){
// System.out.println("show(String...str)");
//
// }
//PS:格式1和格式2 不能共存
//格式2在主函数的调用格式为test.show(new String[]{"AB","CD","EF"});
// public void show(String...str,int i)会发生报错
public void show(int i,String...str){
return;
}
}
Java+可变个数的形参
最新推荐文章于 2024-04-18 21:36:52 发布