Java+可变个数的形参

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;
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值