在很多开发中,项目为了节约资源,都把一个类的构造函数变为私有化,这样整个项目中就不能创建多个实例,这样的方法我们称为单例模式
现在通过代码来简介下这个单例模式:
在新建一个java项目后,创建一个实体类User.java,和测试类,main.java
代码如下:
public class User {
private static User user; //添加该实例的属性
private String name;
private String sex;
private String age;
/**
* @return
* 初始化一个实例
*/
public static User getInstens(){
if(user == null){
user = new User();
}
return user;
} /**
*为了实现 整个项目中,该对象的实例只有一个(有利于节约资源),从而私有化该实例的构造方法
*这样就没办法在其他地方new 出一个实例
*/
private User(){ } public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
} }
再添加main代码来测试:
public class main {
public static void main(String ages[]) { User user = User.getInstens();
user.setName("单列模式");
System.out.println(user.getName());
}
}
这里就得main.java就可以直接通过User.getInstens()来拿到User 的实例对象。
而在整个项目中就可以保证 该实例只被创建一次,被多次使用;故称之为单例模式
原创版权 归掏富小牛所有http://www.cnblogs.com/taofudemo/p/4621817.html
转载请注明