1. Date:表示时间点,GregorianCalendar:表示日历
1.1 GregorianCalendar的get方法
new GregorianCalendar(1999,11,31); //月份从0开始,所以11代表12月
new GregorianCalendar(1999,11,31,23,59,59); //设置时间
GregorianCalendar now = new GregorianCalendar();
int month = now.get(Calendar.MONTH); //当前月
int weekday = now.get(Calendar.DAY_OF_MONTH); //几号 Calendar.DAY_OF_MONTH //星期几
1.2 GregorianCalendar的set方法
now.set(Calendar.YEAR, 2001); //设置年
now.set(Calendar.DAY_OF_MONTH, 15); //设置天
now.set(2008,Calendar.APRIL, 15); //另一种设置方式
now.add(Calendar.MONTH, 3); //增加3个月,减少可以用负数-3
1.3 GregorianCalendar和Date之间转换:
1.3.1 构造一个Date的日历
GregorianCalendar calendar = new GregorianCalendar(year, month, day);
Date hireDay = calendar.getTime();
1.3.2 从Date中得到年月日信息
GregorianCalendar calendar = new GregorianCalendar();
calendar.setTime(hireDay);
int year = calendar.get(Calendar.YEAR);
1.4 DateFormatSymbols:获得其他国家的星期几 Calendar.getFirstDayOfWeek:返回每周从星期几开始
1.5 String to Date 格式化
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
Date myDate = sdf.parse(date);
2. 构造器于类同名,每个类有一个以上构造器,构造器可以0,1或者1个以上参数,构造器没有返回值,构造器总是伴随new操作符一同使用。
3. final: 构建实例域,值被设置之后,不能够再修改。static: 静态域,每个class只有一个这样定义的域。静态常量: public static final int A = 3; 静态方法: 不能向对象实施操作的方法,方法不能访问实例域,但是可以访问自身类中的静态域,一般使用类名调用静态方法: Employee.getNextId();
4. 一个构造方法调用另一个构造方法 this("Employee #" + nextId, s);
5. 初始化
5.1 static init
static {
System.out.println("begin static init");
}
5.2 object init
{
id = nextId;
}
6. finalize: 在垃圾回收器之前被调用,用于手动收集
7. 类设计原则: 数据设计为私有;数据初始化;不要使用过多基本数据类型;不需要所有的域都需要访问器和更改器