你的位置:首页 > Java教程

[Java教程]在JAVA和android中常用的单列模式


在很多开发中,项目为了节约资源,都把一个类的构造函数变为私有化,这样整个项目中就不能创建多个实例,这样的方法我们称为单例模式

现在通过代码来简介下这个单例模式:

在新建一个java项目后,创建一个实体类User.java,和测试类,main.java

代码如下:

 1 public class User { 2   private static User user; 3    4   //添加该实例的属性 5   private String name; 6   private String sex; 7   private String age; 8   /** 9    * @return10    * 初始化一个实例11   */12   public static User getInstens(){13     if(user == null){14       user = new User();15     }16     return user;17   }18   19   /**20    *为了实现 整个项目中,该对象的实例只有一个(有利于节约资源),从而私有化该实例的构造方法21    *这样就没办法在其他地方new 出一个实例22   */23   private User(){24     25   }26 27   public User getUser() {28     return user;29   }30   public void setUser(User user) {31     this.user = user;32   }33   public String getName() {34     return name;35   }36   public void setName(String name) {37     this.name = name;38   }39   public String getSex() {40     return sex;41   }42   public void setSex(String sex) {43     this.sex = sex;44   }45   public String getAge() {46     return age;47   }48   public void setAge(String age) {49     this.age = age;50   }51 52 }

再添加main代码来测试:

1 public class main {2   public static void main(String ages[]) {3     4     User user = User.getInstens();5     user.setName("单列模式");6     System.out.println(user.getName());7   }8 }

这里就得main.java就可以直接通过User.getInstens()来拿到User 的实例对象。

而在整个项目中就可以保证 该实例只被创建一次,被多次使用;故称之为单例模式

原创版权 归掏富小牛所有http://www.cnblogs.com/taofudemo/p/4621817.html

转载请注明