java中 new的用法是什么 小弟用的是eclipse 这段代码calendar.setTime(new Date());说未定义 请大神指教

import java.sql.Date;
import java.util.Calendar;

public class CalendarDemo {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Calendar calendar=Calendar.getInstance();
calendar.setTime(new Date());//就是这个地方 如果把这行去掉就好了但是书上是这么写的
String year=String.valueOf(calendar.get(Calendar.YEAR));
String month=String.valueOf(calendar.get(Calendar.MONTH)+1);
String date=String.valueOf(calendar.get(Calendar.DAY_OF_MONTH));
String day=String.valueOf(calendar.get(Calendar.DAY_OF_WEEK)-1);
int hour=calendar.get(Calendar.HOUR_OF_DAY);
int second=calendar.get(Calendar.SECOND);
int minute=calendar.get(Calendar.MINUTE);
System.out.println("现在的时间是:");
System.out.println(" "+year+"年"+month+"月"+date+"日"+"星期"+day);
System.out.println(" "+hour+"时"+minute+"分"+second+"秒");
calendar.set(1949, 9, 1);
long time1949=calendar.getTimeInMillis();
calendar.set(2012, 4, 2);
long time2012=calendar.getTimeInMillis();
long interdays=(time2012-time1949)/(1000*60*60*24);
System.out.println("2012年5月2日和1949年10月1日相隔"+interdays+"天");

}

}

new 是java的关键字,用来创建对象实例的,在用new关键字创建对象实例时,需要对应的类有相应的构造函数。你上述代码中,出现错误是因为 new Date() 对应的包不正确,应该是import java.util.Date; 在java.sql 包中的Date类,构造函数是需要参数的,一般为Long型。
Date类在 java.sql包中含有,在java.util包中也有,但两个的使用方式不一样。具体使用方式参照jdk帮助文档吧
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-03
你引入的Date是 java.sql.Date,你应该引入 java.util.Date追问

谢谢啊! 请问这两个是什么区别啊?

追答

java.sql.Date是对应数据库里的日期类型,注意是日期类型而不是日期时间类型。
java.util.Date 是我们就是我们一般用到的时间类型,包括时间和日期。

本回答被网友采纳
第2个回答  2012-05-04
1.import java.util.Date;
2.Character c1 = new Character('A');
这句话的意思是调用构造方法new一个Character对象,括号里面是参数;
第3个回答  2012-05-03
import java.sql.Date;
导包导错了追问

谢谢啊 ! 请问这个图片里的红圈中是什么问题啊 还是new的问题? 请为小弟解析一二!谢谢!

第4个回答  2012-05-03
Date dd = new Date()
calendar.setTime(new Date());试试呢?原来那样写我能运行,不知道你为啥不行