java dateformat类_Java中simpleDateFormat类

packagecom.anjoyo.chen;

importjava.text.ParseException;

importjava.text.SimpleDateFormat;

importjava.util.Date;

importjava.util.Scanner;

publicclassTestSimpleDateFormat {

publicstaticvoidmain(String[] args) {

Date d = newDate();

SimpleDateFormat sdf = newSimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E");//定义要使用的日期和时间的格式

String s = sdf.format(d);

System.out.println(s);//2012年11月23日 19时56分54秒 星期五

Scanner sc  = newScanner(System.in);

System.out.println("请按照格式输入:");

String str = sc.nextLine();//2012年11月23日 19时56分54秒 星期五

try{

System.out.println(sdf.parse(str)); //Fri Nov 23 19:56:54 CST 2012

} catch(ParseException e) {

e.printStackTrace();

}

}

}

由程序可以看出,我们使用SimpleDateFormat类来格式化日期。这里要说明的是,我们打开java的帮助文档,发现在SimpleDateFormat中format()方法是这么定义的:

public StringBuffer format(Date date, StringBuffer toAppendTo,FieldPosition pos);

这里定义的format方法传入了三个参数,为什么我们在程序中只传入了一个Date类型的对象d就可以了呢?

其实,SimpleDateFormat类继承自DateFormat类,在DateFormat类中,有public final String format(Date date)方法的定义,这样呢,SimpleDateFormat就继承了父类的这个方法,它和SimpleDateFormat本事中的format方法输入重载的关系,所以我们可以直接使用。

这里再啰嗦一下重载和重写:

假如子类中的方法和父类中的方法名字相同,如果:

1 参数不同,相当于方法的重载,发生在同一类中(子类)。这里的参数不同包括参数类型个数和次序不同等。

2 参数相同,叫方法的重写(覆盖),发生在父子类之间。

方法重写的要求:

1 同名且同参

2 方法的返回值也相同

3 子类方法修饰符不能比父类的方法修饰符更封闭(要么相同,要么更开放)

访问控制修饰符:private protected --- private 顺序:从封闭到开放

4 子类方法抛出的异常类型不能比父类方法抛出的异常类型更宽泛(或者说更大,更上层)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值