[java]jdk1.5的新特性----可变参数、增强for循环、枚举、单例模式

可变参数---

       public int add(int[] a);

       public int add(int ...a);

       ---可变参数相当于数组,但是上面个两个函数不能同时存在构成重载--jvm内部会认为是同一个数组

       ---函数的参数只能有一个是可变参数,并且需要放在参数的最后一个

       ---可变函数可以和其他函数构成重载

===============================================================================

增强for循环和普通for循环区别:

      ---增强for循环,没有索引,全部遍历比较方便

      ---普通for循环,遍历部分比较方便

================================================================================

枚举---一个类的对象的个数是固定且可以罗列的

       ---枚举中的构造函数必须是private的

       ---枚举中的每个对象都是public static final 的

       ---ordinal()--获取枚举对象的序列号

=================================================================================

单例模式---适合于一个类只有一个实例的情况---eg:资源管理器

/**
 * 单例模式的第一种形式
 * @author Administrator
 *
 */
public class Single1 {

	private static Single1 instance=null;
	private Single1(){}
	public static Single1 getInstance(){
		if(instance==null){
			instance=new Single1();
		}
		return instance;
	}
}

/**
 * 单例模式的第二种形式
 * @author Administrator
 *
 */
public class Single2 {

	//自己内部调用自己的实例,只供自己内部调用
	private static Single2 instance=new Single2();
	private Single2(){}
	//提供一个外部访问本class的静态方法,可以直接访问
	public static Single2 getInstance(){
		return instance;
	}
}


/**
 * 测试结果
 * @author Administrator
 *
 */
public class SingleTest {


	public static void main(String[] args) {
		Single1 s1=Single1.getInstance();
		Single1 s2=Single1.getInstance();
		
		System.out.println(s1==s2);//true
		
		Single2 s3=Single2.getInstance();
		Single2 s4=Single2.getInstance();
		System.out.println(s3==s4);//true
		
	}
}



      

你可能感兴趣的:(java,jdk,String,测试,null,Class)