1.3 可变形参方法
从JDK1.5之后,Java允许定义形参个数可变的参数,从而允许为方法指定数量不确定的形参。如果在定义防法时,在最后一个形参的类型后增加三点“…”,则表明该形参可以接受多个参数值,多个参数值被当成数组传入。
可变形参方法类似于为方法传了一个数组,且在使用方法上也和数组相同
1.3.1 可变方法声明
语法:
[<修饰符>] 返回类型 方法名 (变量类型..变量名)
{
方法体
}
可变参数只能出现在参数列表的最后
“…” 位于变量类型和变量名之间,前后有无空格都可以
调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数
1.3.2 可变方法调用
示例:可变形参方法调用
public class VarargsTest {
//定义形参个数可变的方法
public static void testVarargs(int x, String...users) {
for (String user: users) {
System.out.println(user);
}
}
public static void main(String[] args) {
//采用可变个数形参的方法调用
testVarargs(3,"张小文", "王艺儒", "李晨生");
}
}
示例:采用数组形参定义方法
public class ArrayTest {
//采用数组形参来定义方法
public static void testArray(String[] users) {
//users当成数组处理
for (String user : users) {
System.out.println(user);
}
}
public static void main(String[] args) {
//采用数组形参的方法调用
testArray(new String[]{"张小文", "王艺儒", "李晨生"});
}
}
1.3.3 可变参数与数组参数的比较
1、定义方式不一样
public static void testVarargs(String…users);//可变形参
public static void testArray(Stringll users);//数组形参
2、调用方式不一样
testVarargs(“张小文”,”王艺儒”,“李晨生”;//可变形参
testArray(new String[] {“张小文”,“王艺儒”,“李晨生”});//数组形参
3、参数位置不一样
数组形式的参数可以处于形参列表的任意位置
个数可变的形参处于形参列表的最后,即一个方法中最多只能有一个个数可变的形参
1.3.4 实践练习
1.4 构造方法
1.4.1 构造方法的定义
构造方法是一种特殊的方法
它是一个与类同名且返回值类型为同名类类型的方法
对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化当类实例化一个对象时会自动调用构造方法
构造方法和其他方法一样也可以重载。