zoukankan      html  css  js  c++  java
  • 工厂模式

    工厂模式是对象的创建模式,工厂负责实例化对象,做到对象的使用和创建分离,职责分明,便于维护和扩展。

    1.简单工厂模式,又叫静态工厂模式。
    java.lang.Integer#valueOf(String) (Boolean, Byte, Character,Short, Long, Float 和 Double与之类似)

    public static Integer valueOf(int i) {
            if (i >= IntegerCache.low && i <= IntegerCache.high)
                return IntegerCache.cache[i + (-IntegerCache.low)];
            return new Integer(i);
    }

     可以把Integer看成工厂类,valueOf实例化一个Integer对象。

    2.抽象工厂模式,对工厂进一步抽象。当需要扩展新的类,不用修改原代码,增加具体工厂继承抽象工厂即可。

      Object类相当于抽象工厂:

       public String toString() {
            return getClass().getName() + "@" + Integer.toHexString(hashCode());
        }
    Double类相当于具体工厂,重写toString方法创建String对象:
    
    
        public String toString() {
            return toString(value);
        }
    
    
        public static String toString(double d) {
            return FloatingDecimal.toJavaFormatString(d);
        }
     Integer类相当于具体工厂,重写toString方法创建String对象:
        public String toString() {
            return toString(value);
        }
       public static String toString(int i) {
            if (i == Integer.MIN_VALUE)
                return "-2147483648";
            int size = (i < 0) ? stringSize(-i) + 1 : stringSize(i);
            char[] buf = new char[size];
            getChars(i, size, buf);
            return new String(buf, true);
        }
    好记性不如烂笔头,提升自己:http://www.urlort.cn/1DjfQb github地址:https://github.com/997480972
  • 相关阅读:
    C#学习(二)之基础杂谈
    C#学习(一)之hello,world
    尚硅谷linux教程16-shell变量
    尚硅谷linux教程16-shell变量
    将博客搬至CSDN
    尚硅谷linux教程15 大数据 Shell编程
    linux服务器安装tomcat
    尚硅谷linux教程 javaEE定制篇 jdk安装
    尚硅谷linux教程14 yum
    尚硅谷linux教程13 RPM包管理
  • 原文地址:https://www.cnblogs.com/liuyong1993/p/9817798.html
Copyright © 2011-2022 走看看