package multitype;
import java.util.ArrayList;
import java.util.Random;
public class Emperor {
private static int maxNum=2;
private static ArrayList emperorInfoList =new ArrayList(maxNum); //皇帝名列表
private static ArrayList emperorList=new ArrayList(maxNum); //皇帝实例列表
private static int currentNum=0; //当前正在被尊敬的皇帝
private Emperor(){}
private Emperor(String info)
{
emperorInfoList.add(info);
}
static
{
//将所有皇帝都产生出来
for(int i=0;i<maxNum;i++)
emperorList.add(new Emperor("皇帝"+(i+1)));
}
public static Emperor getInstance()
{
Random r=new Random();
//nextInt(int x)它是产生0到x(不含x)间分布的int数
currentNum=r.nextInt(maxNum); //随机抽取一个皇帝
System.out.println("currentNum:"+currentNum);
return (Emperor) emperorList.get(currentNum); //获取抽取出来的皇帝实例
}
public static void getInfo()
{
System.out.println(emperorInfoList.get(currentNum));
}
}
package multitype;
public class Ministor {
public static void main(String[] args)
{
int x=4;
for(int i=0;i<4;i++)
{
Emperor em=Emperor.getInstance();
System.out.print("第"+(i+1)+"个大臣尊敬");
em.getInfo();
}
}
}