11. 抽象类和接口:
1) 抽象类不能实例化对象,但它可以定义自己的构造方法,这种构造方法将在它的子类的构造方
法中被调用。
抽象方法只有方法头标致而没有实现,包含抽象方法的类必须声明为抽象类,
可以声明没有抽象方法的抽象类。
如果一个父类的子类不能实现所有的抽象方法,那么它必须声明为抽象的。
子类可以声明为抽象的,即使它的父类是具体的类。子类可以覆盖它父类的方法,
将其声明为抽象的(这种方法比较少见)。
抽象类可以用作数据类型,例如:
abstractClass object = new abstractClass[number];
此语法创建了一个abstractClass类型的数组。
2) 公历类GregorianCalendar:
GregorianCalendar calendar = new GregorianCalendar();
calendar.get(Calendar.YEAR)取得当前的年份;
calendar.get(Calendar.MONTH)取得当前的月份,从0开始计数;
calendar.get(Calendar.DATE)取得当前的日份;
calendar.get(Calendar.HOUR)取得当前的小时,12小时制;
calendar.get(Calendar.HOUR_OF_DAY)取得当前的小时,24小时制;
calendar.get(Calendar.MINUTE)取得当前的分钟;
calendar.get(Calendar.SECOND)取得当前的秒;
calendar.get(Calendar.DAY_OF_WEEK)取得当前星期的天数,星期日是1;
calendar.get(Calendar.DAY_OF_MONTH)取得当前月的天;
calendar.get(Calendar.DAY_OF_YEAR)取得当前年的天数,1是一年的第一天;
calendar.get(Calendar.WEEK_OF_MONTH)取得当前月内的星期数;
calendar.get(Calendar.WEEK_OF_YEAR)取得当前年内的星期数;
3) 接口interface:
接口只包含常量和抽象方法,不能用来创建接口实例,可以使用接口作为变量的数据类型或转换的结果。
接口中的所有数据域都是public final static的,所有的方法都是
public abstract的。
Java类对抽象类只允许单继承,但对接口可以实现多重继承。
接口可以继承其它接口,这样的接口称为子接口。、
一个接口只能扩展其它接口,不能扩展类。一个类可以扩展它的父类并实现多个接口。