含义
将那些经常使用的的对象缓存起来,使用的时候直接从缓存中拿出来。
目的
避免重复创建经常使用的对象
步骤
- 创建一个容器
- 将静态代码块创建的那些经常使用的对象放进容器中
- 对外提供获取对象的方法
案例
public class User {
private String name;
private int age;
private static User[] users = new User[4];
//static void cj(){ 注意,要用静态代码块,静态方法只有调用的时候才执行
static {
User user = new User("zs",11);
User user1 = new User("lisi",11);
User user2= new User("wu",11);
User user3= new User("ii",11);
users[0]=user;
users[1]=user1;
users[2]=user2;
users[3]=user3;
}
public User(String name, int age) {
this.name = name;
this.age = age;
}
public static User getUser(String name,int age){
for (int i = 0; i <users.length ; i++) {
if(users[i].name.equals(name)&&users[i].age==age){
return users[i];
}
}
return new User(name,age);
}
}
public class Test {
public static void main(String[] args) {
User user = User.getUser("zs",11);
User user1 = User.getUser("zs",11);
System.out.println(user==user1);
User user2 = User.getUser("oo",11);
User user3 = User.getUser("oo",11);
System.out.println(user2==user3);
}
}