题目:

①swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?


②编程题: 写一个Singleton出来。



答案:

①switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。


② Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。
   一般Singleton模式通常有几种种形式:
   第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。

public class Singleton {
  private Singleton(){}
  //在自己内部定义自己一个实例,是不是很奇怪?
  //注意这是private 只供内部调用
  private static Singleton instance = new Singleton();
  //这里提供了一个供外部访问本class的静态方法,可以直接访问  
  public static Singleton getInstance() {
    return instance;   
   } 
} 

   第二种形式:
public class Singleton { 
  private static Singleton instance = null;
  public static synchronized Singleton getInstance() {
  		//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次     
  		//使用时生成实例,提高了效率!
 		 if (instance==null)
   		 instance=new Singleton();
		  return instance;   
	} 
}



联系我们 | 友情链接