可变参数与静态导入

一、可变参数

1、 可变参数本质上就是一个数组,对于某个声明了可变参数的方法来说,既可以传递离散的值,也可以传递数组对象。但如果将方法中的参数定义为数组,name只能传递数组对象而不能传递离散值。下面用一个Demo说明:

/**
 * 方法的可变参数 
 */
public class VarargsTest
{
    //可变参数只能用“...”表示
    public static int sum(int... nums)
    {
        int result = 0;
        for(int i : nums)
            result += i;
        
        return result;
    }
    
    public static void main(String[] args)
    {
        //传入离散值
        int result = sum(1,3);
        System.out.println(result);
        
        //传入数组
        result = sum(new int[] {1, 2, 3, 4});
        System.out.println(result);
    }

}

2、特别注意:可变参数只能作为方法的最后一个参数,也就是说一个方法最多只能拥有一个可变参数。

二、静态导入

1、首先在一个类中定义一个静态成员变量,和一个静态方法

public class Common
{
    //静态成员变量
    public static final int AGE = 10;
    
    //静态方法
    public static void output()
    {
        System.out.println("Hello world");
    }

}

2、通常我们引用另一个类中的静态成员变量或者静态方法时,必须用类名去引用

public class StaticImportTest
{
    public static void main(String[] args)
    {
        //用类名引用静态成员变量
        int age = Common.AGE;
        System.out.println(age);
        
        //用类名引用静态方法
        Common.output();
    }
}

3、现在我们可以通过静态导入的方法省去类名

//静态导入成员变量
import static enumeration.Common.AGE;
//静态导入方法
import static enumeration.Common.output;

public class StaticImportTest
{
    public static void main(String[] args)
    {
        //引用静态成员变量
        int age = AGE;
        System.out.println(age);
        
        //引用静态方法
        output();
    }
}

上一篇:自动装箱与自动拆箱
下一篇:枚举

你可能感兴趣的:(可变参数与静态导入)