DateFormat是java设计模式简单工厂模式的一个典型例子
如下面代码
public final static DateFormat getDateInstance();
public final static DateFormat getDateInstance(int style);
public final static DateFormat getDateInstance(int style,Locale aLocale);
DateFormat是抽象类,刚看这些方法可能会很困惑,抽象类不能有自己的实例,但这三个方法貌似违反这一规定
其实不然,这三个方法都是静态的,而不是普通方法
getDateInstance()方法做了一些有趣的事情,一是运用多态性;二是使用静态工厂方法
一、仔细阅读getDateInstance()方法源码可以发现该方法返回的是其子类SimpleDateFormat的一个实例,这是纯正的多态性原则的运用
二、getDateFormat()方法是静态方法。如果是非静态的会怎样?如果是非静态方法,客户端必须取得该类的子类或者实例。而这个类是抽象的,不可能有自己的实例,所以客户端需要获取该类的子类的实例,如果客户端获取子类的实例了,那么还需要这个工厂方法干什么?
使用静态方法是为了把子类实例化的工作隐藏起来,从而客户端不需要关心子类是怎么实例化的,因为DateFormat会提供它合适的子类的实例
分享到:
相关推荐
在 Node.js 开发中,处理日期和时间是常见的任务,`dateformat` 模块就是一个非常实用的工具,专为 Node.js 设计,用于格式化日期。 `dateformat` 模块由 felixge 开发,提供了丰富的日期格式化选项,使得日期和...
在Java编程语言中,`DateFormat`是用于格式化日期和时间的重要类,它属于`java.text`包。然而,`DateFormat`并不是线程安全的,这意味着在多线程环境中直接使用可能会导致数据不一致或者异常。这篇博客文章《Java ...
在Java编程语言中,`DateFormat` 类是 `java.text` 包中的一个核心类,用于格式化日期和时间。这个类提供了多种方法来解析、格式化以及比较日期和时间。当我们需要从系统获取当前时间并以特定的格式展示时,`...
`jquery-dateFormat` 是一个专为jQuery设计的插件,它提供了便捷的方法来处理日期和时间的格式化输出。这个插件是前端项目中的实用工具,尤其在处理用户界面展示或者从服务器获取日期数据时。 `jquery-dateFormat` ...
jquery-dateFormat, 使用JavaScript格式化日期输出的jQuery插件 使用JavaScript格式输出日期输出的jQuery dateformat插件- 拥有的,jQuery是最小的日期格式库。 ! 安装下载最新的jquery.dateFormat.js 或者 jquery....
在这个"JAVA System、Math、Date、DateFormat、Calendar"的主题中,我们将深入探讨Java标准库中的几个核心类,它们在各种程序设计场景中扮演着至关重要的角色。 首先,`System`类是Java中最基础的类之一,位于`java...
`DATEFORMAT`一词通常与数据库查询中的日期格式化相关,特别是在某些数据库系统中。然而,需要注意的是,在标准SQL中并没有`DATEFORMAT`这个函数,它更多地是数据库特定的语法,例如在MySQL和SQL Server中。在这些...
DateFormatManager dateformat = new DateFormatManager( new char[] { DateString.CENTURY, DateString.MONTH, DateString.DAY, DateString.YEAR, DateString.WEEK, DateString.HOUR_OF_DAY, DateString.MINUTE,...
标题中的"DateFormat_Dateformat_"可能是指在编程中处理日期格式化时使用特定的分隔符“-”来组织日期字符串。在很多编程语言中,日期和时间的格式化是通过特定的方法或函数来完成的,这通常涉及到指定日期的各个...
在Java编程语言中,`DateFormat`类是处理日期和时间格式化的重要工具,但它的线程安全性是一个常见的问题。在多线程环境下,不恰当的使用`DateFormat`可能导致数据不一致、性能下降甚至程序崩溃。这篇博客将深入探讨...
### Java使用DateFormat类转换时间格式 #### 一、引言 在Java编程中,处理日期与时间是非常常见的需求之一。`java.util`包中的`DateFormat`类提供了多种方法来格式化日期并将其转换为字符串,或者将字符串解析为...
Java中的`DateFormat`类是`java.text`包下的一个核心组件,主要用于日期和时间的格式化与解析。这个抽象类提供了与语言环境无关的方式来处理日期和时间字符串,使得程序具有更好的国际化支持。`DateFormat`是所有...
在Java编程语言中,正则表达式、Date、DateFormat和Calendar是四个非常重要的API,它们在处理字符串匹配、日期和时间操作中起着关键作用。本文将深入探讨这些概念及其在实际开发中的应用。 首先,让我们来了解一下...
`DateFormat`这个概念是关于如何格式化日期以便在输出中展示的。"史上最牛的DateFormat"可能是指一种特别强大或灵活的日期格式化方法,或者是一种优化了性能的实现。在这个话题中,我们将深入探讨JavaScript中的日期...
在这个项目中,我们主要关注的是 `dateformat.js` 的核心功能及其在实际开发中的应用。这个库的大小不足 5KB,这使得它在对性能有严格要求或者资源有限的环境中特别受欢迎。 ### 1. 日期格式化 `dateformat.js` 最...
本文将详细介绍以下几个核心知识点:Date、DateFormat、Calendar、Math、System、基本类型包装类以及正则表达式。让我们逐一深入探讨。 ### 1. Date类 `java.util.Date`类代表了特定的瞬间,精度到毫秒。创建Date...
本Java精华内容深入Java API、嵌套类和内部类、与时间有关的类Date,DateFormat,Calendar、文件与流、Java变量类型间的相互转换、Java与Web、用连接池提高Servlet访问数据库的效率、Java扩展、应用服务器的集群策略及...
在JavaScript编程中,`dateFormat`通常指的是处理日期和时间格式化的功能。日期格式化是将日期和时间数据转换为特定格式的过程,以便于人类阅读或与其他系统进行交互。JavaScript提供了内置的Date对象来处理日期和...