一个类中只能有一个实例对象,因此要把构造函数设置为私有。
例如
public class ClassMaster {
private String id;
// 班主任名称
private String name;
private String gender;
// 唯一实例
private static ClassMaster instance = new ClassMaster();
private ClassMaster() {
}
public static ClassMaster getInstance(){
return instance;
}
}
在ClassMaster类中定义一个ClassMaster类型的变量,赋值为new出来的自己的实例,不允许其他类实例化ClassMaster(私有化构造方法)、只有自己能实例化一个唯一的自己,所以可以保证ClassMastrer的实例是全局唯一的。我们在外部调用时可以设置一个获取实例化对象的方法。
spring中的单例
不仅从功能逻辑要求只有一个实例,有时从技术角度出发为了节省系统资源的时候,也会用到单例模式。
@Autowired注解,能够实现自动注入实例对象。
实际上,任何自动注入实例对象,默认只有一个实例对象,是单例的。