黑马程序员技术交流社区

标题: 这个问题老是搞不明白 视频看了还是糊涂 [打印本页]

作者: 贾成龙    时间: 2012-7-11 12:38
标题: 这个问题老是搞不明白 视频看了还是糊涂
import java.util.*;
import java.text.*;
class  DateTest1
{
public static void main(String[] args)throws Exception
{
        method();
}
    public static void method()
    {
     Date d=new  Date();  
   
  DateFormat df=DateFormat.getDateInstance();
    //不理解的是为什么下边这个也要定义df,和上边的不会产生覆盖和重名吗?
   //帮忙解释一下呗?
  df=DateFormat.getDateTimeInstance();
  String str=df.format(d);
  System.out.println(str);
   
  }
}

作者: 孙飞    时间: 2012-7-11 13:29
因为返回的都是日期格式器,相当于下面的把上面的覆盖了,上面的只是日期格式器,下面的是日期时间格式器,都是一个类型,我认为的
作者: 陆强强    时间: 2012-7-11 13:42
int i=0;
i=1;
你认为可以么
作者: 孙新强    时间: 2012-7-11 13:51
public static void method()
    {
     Date d=new  Date();  
   
  DateFormat df=null;
          //DateFormat.getDateInstance();
    //不理解的是为什么下边这个也要定义df,和上边的不会产生覆盖和重名吗?
   //帮忙解释一下呗?
  df=DateFormat.getDateTimeInstance();
  String str=df.format(d);
  System.out.println(str);
   
  }
}
我这样改后,就会发现,运行结果完全一样由此说明,getDateTimeInstance();对getDateInstance();进行了覆盖。
DateFormat df=DateFormat.getDateInstance();其实就相当于,把一种格式赋予到一个对象上面。



作者: 黄一—一    时间: 2012-7-11 14:48
DateFormat df=DateFormat.getDateInstance() 是声明语句,  df=DateFormat.getDateTimeInstance()是赋值语句,可以这样理解
作者: 黑马振鹏    时间: 2012-7-11 14:52
class  DateTest1
{
    public static void main(String[] args)throws Exception
        {
                method();
        }
    public static void method()
    {
     Date d=new  Date();  
   
    DateFormat df1 =DateFormat.getDateInstance();
    //不理解的是为什么下边这个也要定义df,和上边的不会产生覆盖和重名吗?
    //帮忙解释一下呗?
    DateFormat  df2 =DateFormat.getDateTimeInstance();
      String str1=df1.format(d);
      String str2 = df2.format(d);
      System.out.println(str1);
      System.out.println(str2);
      
   
  }
}
2012-7-11
2012-7-11 14:50:14

DateFormat df1 =DateFormat.getDateInstance();
DateFormat  df2 =DateFormat.getDateTimeInstance();
两中不同的格式赋值




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2