zoukankan      html  css  js  c++  java
  • Java_多例设计模式

    3.6、多例设计模式(理解)

             单例设计模式只留有一个类的一个实例化对象,而多例设计模式,会定义出多个对象,例如:定义一个表示星期X的类,这个类的对象只有7个取值,定义一个表示性别的类,只有2个取值,定义一个表示颜色基色的操作类,颜色只有三个:红、绿、蓝,这种情况下,这样的类就不应该由用户无限制的去创造实例化对象,应该只使用有限的几个,这个就属于多例设计,但不管是单例设计还是多例设计,有一个核心不可动摇 —— 构造方法私有化。

    class Sex {

             private static final Sex MALE = new Sex("") ;

             private static final Sex FEMALE = new Sex("") ;

             private String title ;

             private Sex(String title) {       // 构造方法私有化

                       this.title = title ;

             }

             public static Sex getInstance(String msg) {

                       switch(msg) {

                                case "male" :

                                         return MALE ;

                                case "female" :

                                         return FEMALE ;

                                default :

                                         return null ;

                       }

             }

             public String getTitle() {

                       return this.title ;

             }

    }

    public class Test {

             public static void main(String args[]) {

                       Sex male = Sex.getInstance("male") ;

                       System.out.println(male.getTitle()) ;

             }

    }

             构造方法的封装是实现所有操作的基础,但是在我们所编写的代码过程之中,首先考虑的不是构造方法的封装。

  • 相关阅读:
    收集座右铭
    Yii2查询语句使用不等于号
    使用jQuery获取Bootstrap Switch的值
    wamp 提示 Directive allow_call_time_pass_reference is no longer avaiable in PHP
    解决GitHub添加sshkey仍然无法访问clone远程仓库的问题
    异常-User class threw exception: java.lang.IllegalStateException: Cannot call methods on a stopped SparkContext.
    CDH5.16.1升级kafka0.10到1.0.1
    MacOs桌面自动被打乱的原因
    彻底解决MacOS上应用程序快捷键冲突的问题,自定义快捷键设置
    CDH5.16.1的maven依赖版本查询地址
  • 原文地址:https://www.cnblogs.com/guwenren/p/3016533.html
Copyright © 2011-2022 走看看